summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-04-03 15:17:15 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-04-04 10:29:48 +0200
commit3259c1058913887f51af456918927a50d139d70d (patch)
treecb4a9fb563a6bb9c525800d4f426873f88935ac5 /vcl
parent59c15729bdd6b3fb15f66ad9f3cb96292fd0eba9 (diff)
add nullchecking SelectionEngine::CaptureMouse
Change-Id: Ie8594c8fe2a9e2d84121f3a6a1ee8afab265b14f Reviewed-on: https://gerrit.libreoffice.org/70216 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/seleng.cxx13
1 files changed, 10 insertions, 3 deletions
diff --git a/vcl/source/window/seleng.cxx b/vcl/source/window/seleng.cxx
index 4f7630b54e06..415999a80fa2 100644
--- a/vcl/source/window/seleng.cxx
+++ b/vcl/source/window/seleng.cxx
@@ -131,7 +131,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt )
if( !rMEvt.IsRight() )
{
- pWin->CaptureMouse();
+ CaptureMouse();
nFlags |= SelectionEngineFlags::IN_SEL;
}
else
@@ -284,6 +284,13 @@ void SelectionEngine::ReleaseMouse()
pWin->ReleaseMouse();
}
+void SelectionEngine::CaptureMouse()
+{
+ if (!pWin || pWin->IsMouseCaptured())
+ return;
+ pWin->CaptureMouse();
+}
+
bool SelectionEngine::SelMouseMove( const MouseEvent& rMEvt )
{
@@ -325,8 +332,8 @@ void SelectionEngine::SetWindow( vcl::Window* pNewWin )
if (nFlags & SelectionEngineFlags::IN_SEL)
ReleaseMouse();
pWin = pNewWin;
- if ( pWin && ( nFlags & SelectionEngineFlags::IN_SEL ) )
- pWin->CaptureMouse();
+ if (nFlags & SelectionEngineFlags::IN_SEL)
+ CaptureMouse();
}
}