diff --git a/aegisub/video_display.cpp b/aegisub/video_display.cpp index c04fbc055..06fa2e6a7 100644 --- a/aegisub/video_display.cpp +++ b/aegisub/video_display.cpp @@ -85,7 +85,6 @@ enum { // Event table BEGIN_EVENT_TABLE(VideoDisplay, wxGLCanvas) EVT_MOUSE_EVENTS(VideoDisplay::OnMouseEvent) - EVT_LEAVE_WINDOW(VideoDisplay::OnMouseLeave) EVT_KEY_DOWN(VideoDisplay::OnKey) EVT_PAINT(VideoDisplay::OnPaint) EVT_SIZE(VideoDisplay::OnSizeEvent) @@ -373,9 +372,7 @@ void VideoDisplay::OnMouseEvent(wxMouseEvent& event) { // OnMouseLeave isn't called as long as we have an OnMouseEvent // Just check for it and call it manually instead if (event.Leaving()) { - OnMouseLeave(event); - event.Skip(true); - return; + if (tracker) tracker->bTrackerEditing = 0; } // Right click @@ -420,16 +417,6 @@ void VideoDisplay::OnKey(wxKeyEvent &event) { -////////////////////// -// Mouse left display -void VideoDisplay::OnMouseLeave(wxMouseEvent& event) { - if (VideoContext::Get()->IsPlaying()) return; - wxASSERT(visual); - visual->OnMouseEvent(event); - if (tracker) tracker->bTrackerEditing = 0; -} - - /////////////////// // Sets zoom level void VideoDisplay::SetZoom(double value) { diff --git a/aegisub/video_display.h b/aegisub/video_display.h index 06e671d24..f2850b0f1 100644 --- a/aegisub/video_display.h +++ b/aegisub/video_display.h @@ -74,8 +74,7 @@ private: void OnPaint(wxPaintEvent& event); void OnKey(wxKeyEvent &event); - void OnMouseEvent(wxMouseEvent& event); - void OnMouseLeave(wxMouseEvent& event); + void OnMouseEvent(wxMouseEvent& event); void OnEraseBackground(wxEraseEvent &event) {} void OnSizeEvent(wxSizeEvent &event); diff --git a/aegisub/video_display_visual.cpp b/aegisub/video_display_visual.cpp index 0f778c127..6fd6f3d24 100644 --- a/aegisub/video_display_visual.cpp +++ b/aegisub/video_display_visual.cpp @@ -1103,6 +1103,10 @@ void VideoDisplayVisual::OnMouseEvent (wxMouseEvent &event) { mouseY = y; hasOverlay = true; } + if (event.Leaving()) { + mouseX = -1; + mouseY = -1; + } // Has something to draw if (hasOverlay) { @@ -1115,6 +1119,8 @@ void VideoDisplayVisual::OnMouseEvent (wxMouseEvent &event) { ///////////// // Key event void VideoDisplayVisual::OnKeyEvent(wxKeyEvent &event) { + // FIXME: should these beconfigurable? + // Think of the frenchmen and other people not using qwerty layout if (event.GetKeyCode() == 'A') SetMode(0); if (event.GetKeyCode() == 'S') SetMode(1); if (event.GetKeyCode() == 'D') SetMode(2);