Update of /cvsroot/audacity/audacity-src/src
In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv13060

Modified Files:
        TrackPanel.cpp TrackPanel.h 
Log Message:
Add handling of mouse capture lost events.

Index: TrackPanel.cpp
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/TrackPanel.cpp,v
retrieving revision 1.409
retrieving revision 1.410
diff -u -d -r1.409 -r1.410
--- TrackPanel.cpp      22 Jul 2008 20:56:11 -0000      1.409
+++ TrackPanel.cpp      25 Jul 2008 03:39:50 -0000      1.410
@@ -318,6 +318,7 @@
 
 BEGIN_EVENT_TABLE(TrackPanel, wxWindow)
     EVT_MOUSE_EVENTS(TrackPanel::OnMouseEvent)
+    EVT_MOUSE_CAPTURE_LOST(TrackPanel::OnCaptureLost)
     EVT_COMMAND(wxID_ANY, EVT_CAPTURE_KEY, TrackPanel::OnCaptureKey)
     EVT_KEY_DOWN(TrackPanel::OnKeyDown)
     EVT_CHAR(TrackPanel::OnChar)
@@ -348,7 +349,6 @@
     EVT_MENU_RANGE(OnStickySubmenuID, OnStickySubmenuID+999, 
TrackPanel::OnTrackSticky)
 END_EVENT_TABLE()
 
-
 /// Makes a cursor from an XPM, uses CursorId as a fallback.
 wxCursor * MakeCursor( int CursorId, const char * pXpm[36],  int HotX, int 
HotY )
 {
@@ -3960,6 +3960,14 @@
       RefreshTrack(t, true);
 }
 
+/// Should handle the case when the mouse capture is lost.
+void TrackPanel::OnCaptureLost(wxMouseCaptureLostEvent & event)
+{
+   if (HasCapture()) {
+      ReleaseCapture();
+   }
+}
+
 /// This handles just generic mouse events.  Then, based
 /// on our current state, we forward the mouse events to
 /// various interested parties.
@@ -4054,8 +4062,6 @@
       if (t)
          EnsureVisible(t);
    }
-
-
 }
 
 bool TrackPanel::HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, 
wxMouseEvent &event)

Index: TrackPanel.h
===================================================================
RCS file: /cvsroot/audacity/audacity-src/src/TrackPanel.h,v
retrieving revision 1.126
retrieving revision 1.127
diff -u -d -r1.126 -r1.127
--- TrackPanel.h        12 Jun 2008 15:29:08 -0000      1.126
+++ TrackPanel.h        25 Jul 2008 03:39:50 -0000      1.127
@@ -152,6 +152,7 @@
    void OnErase(wxEraseEvent & event);
    void OnPaint(wxPaintEvent & event);
    void OnMouseEvent(wxMouseEvent & event);
+   void OnCaptureLost(wxMouseCaptureLostEvent & event);
    void OnCaptureKey(wxCommandEvent & event);
    void OnKeyDown(wxKeyEvent & event);
    void OnChar(wxKeyEvent & event);


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Audacity-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/audacity-cvs

Reply via email to