Kaydet (Commit) 4584e3a6 authored tarafından Caolán McNamara's avatar Caolán McNamara

test for IsMouseCaptured before releasing mouse

like the other call sites do

Change-Id: I77250f172f9d9ce97e5982bafbc8f042e9343acc
üst 5e1546cc
...@@ -879,8 +879,8 @@ void ScHeaderControl::StopMarking() ...@@ -879,8 +879,8 @@ void ScHeaderControl::StopMarking()
// don't call pSelEngine->Reset, so selection across the parts of // don't call pSelEngine->Reset, so selection across the parts of
// a split/frozen view is possible // a split/frozen view is possible
if (IsMouseCaptured())
ReleaseMouse(); ReleaseMouse();
} }
void ScHeaderControl::ShowDragHelp() void ScHeaderControl::ShowDragHelp()
......
...@@ -468,10 +468,10 @@ void Window::ReleaseMouse() ...@@ -468,10 +468,10 @@ void Window::ReleaseMouse()
ImplSVData* pSVData = ImplGetSVData(); ImplSVData* pSVData = ImplGetSVData();
SAL_WARN_IF( pSVData->maWinData.mpCaptureWin.get() != this, "vcl", SAL_WARN_IF(!IsMouseCaptured(), "vcl",
"Window::ReleaseMouse(): window doesn't have the mouse capture" ); "Window::ReleaseMouse(): window doesn't have the mouse capture" );
if ( pSVData->maWinData.mpCaptureWin.get() == this ) if (IsMouseCaptured())
{ {
pSVData->maWinData.mpCaptureWin = nullptr; pSVData->maWinData.mpCaptureWin = nullptr;
mpWindowImpl->mpFrame->CaptureMouse( false ); mpWindowImpl->mpFrame->CaptureMouse( false );
......
...@@ -249,13 +249,13 @@ void Window::dispose() ...@@ -249,13 +249,13 @@ void Window::dispose()
DBG_ASSERT( pSVData->maWinData.mpTrackWin.get() != this, DBG_ASSERT( pSVData->maWinData.mpTrackWin.get() != this,
"Window::~Window(): Window is in TrackingMode" ); "Window::~Window(): Window is in TrackingMode" );
DBG_ASSERT( pSVData->maWinData.mpCaptureWin.get() != this, DBG_ASSERT(!IsMouseCaptured(),
"Window::~Window(): Window has the mouse captured" ); "Window::~Window(): Window has the mouse captured");
// due to old compatibility // due to old compatibility
if ( pSVData->maWinData.mpTrackWin == this ) if ( pSVData->maWinData.mpTrackWin == this )
EndTracking(); EndTracking();
if ( pSVData->maWinData.mpCaptureWin == this ) if (IsMouseCaptured())
ReleaseMouse(); ReleaseMouse();
if ( pSVData->maWinData.mpDefDialogParent == this ) if ( pSVData->maWinData.mpDefDialogParent == this )
pSVData->maWinData.mpDefDialogParent = nullptr; pSVData->maWinData.mpDefDialogParent = nullptr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment