diff --git a/src/effects/AutoDuck.cpp b/src/effects/AutoDuck.cpp index 601d48b59..efe9e9f82 100644 --- a/src/effects/AutoDuck.cpp +++ b/src/effects/AutoDuck.cpp @@ -862,7 +862,8 @@ void EffectAutoDuckPanel::OnLeftDown(wxMouseEvent & evt) for (int i = 0; i < AUTO_DUCK_PANEL_NUM_CONTROL_POINTS; i++) mMoveStartControlPoints[i] = mControlPoints[i]; - CaptureMouse(); + if( !HasCapture() ) + CaptureMouse(); } } diff --git a/src/toolbars/ToolBar.cpp b/src/toolbars/ToolBar.cpp index 4fcf771bb..03e79d24c 100644 --- a/src/toolbars/ToolBar.cpp +++ b/src/toolbars/ToolBar.cpp @@ -168,7 +168,8 @@ void ToolBarResizer::OnLeftDown( wxMouseEvent & event ) mOrigSize = mBar->GetSize(); // We want all of the mouse events - CaptureMouse(); + if( !HasCapture() ) + CaptureMouse(); } void ToolBarResizer::OnLeftUp( wxMouseEvent & event ) diff --git a/src/toolbars/ToolManager.cpp b/src/toolbars/ToolManager.cpp index 780e820b5..080b8d3e4 100644 --- a/src/toolbars/ToolManager.cpp +++ b/src/toolbars/ToolManager.cpp @@ -1358,7 +1358,8 @@ void ToolManager::OnGrabber( GrabberEvent & event ) } // We want all mouse events from this point on - mParent->CaptureMouse(); + if( !mParent->HasCapture() ) + mParent->CaptureMouse(); // Start monitoring shift key changes mLastState = wxGetKeyState( WXK_SHIFT ); diff --git a/src/widgets/Ruler.cpp b/src/widgets/Ruler.cpp index ac3f08932..166ca0eff 100644 --- a/src/widgets/Ruler.cpp +++ b/src/widgets/Ruler.cpp @@ -2526,7 +2526,8 @@ void AdornedRulerPanel::HandleQPClick(wxMouseEvent &evt, wxCoord mousePosX) // Check if we are dragging BEFORE CaptureMouse. if (mMouseEventState != mesNone) SetCursor(mCursorSizeWE); - CaptureMouse(); + if ( !HasCapture() ) + CaptureMouse(); } void AdornedRulerPanel::HandleQPDrag(wxMouseEvent &event, wxCoord mousePosX)