diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-04-03 15:17:15 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-04-04 10:29:48 +0200 |
commit | 3259c1058913887f51af456918927a50d139d70d (patch) | |
tree | cb4a9fb563a6bb9c525800d4f426873f88935ac5 /vcl | |
parent | 59c15729bdd6b3fb15f66ad9f3cb96292fd0eba9 (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.cxx | 13 |
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(); } } |