diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-04-03 15:14:55 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-04-04 10:29:24 +0200 |
commit | 59c15729bdd6b3fb15f66ad9f3cb96292fd0eba9 (patch) | |
tree | 3d04beeb3937270ca7d4adee5d8a3fc1a1f334c4 | |
parent | aRect is always in pixels (diff) | |
download | core-59c15729bdd6b3fb15f66ad9f3cb96292fd0eba9.tar.gz core-59c15729bdd6b3fb15f66ad9f3cb96292fd0eba9.zip |
SelectionEngine::ReleaseMouse checks for null pWin
Change-Id: I80e6a304d07fcc290e73e6251f520926398a7ecb
Reviewed-on: https://gerrit.libreoffice.org/70215
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | vcl/source/window/seleng.cxx | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/vcl/source/window/seleng.cxx b/vcl/source/window/seleng.cxx index a7ff02889bf6..4f7630b54e06 100644 --- a/vcl/source/window/seleng.cxx +++ b/vcl/source/window/seleng.cxx @@ -149,7 +149,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) { nFlags |= SelectionEngineFlags::WAIT_UPEVT; nFlags &= ~SelectionEngineFlags::IN_SEL; - pWin->ReleaseMouse(); + ReleaseMouse(); return true; // wait for STARTDRAG-Command-Event } if ( eSelMode != SelectionMode::Single ) @@ -170,7 +170,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) case KEY_SHIFT: if ( eSelMode == SelectionMode::Single ) { - pWin->ReleaseMouse(); + ReleaseMouse(); nFlags &= ~SelectionEngineFlags::IN_SEL; return false; } @@ -194,7 +194,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) if ( eSelMode != SelectionMode::Multiple ) { nFlags &= ~SelectionEngineFlags::IN_SEL; - pWin->ReleaseMouse(); + ReleaseMouse(); return true; // skip Mouse-Click } if ( nFlags & SelectionEngineFlags::HAS_ANCH ) @@ -217,7 +217,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) case KEY_SHIFT + KEY_MOD1: if ( eSelMode != SelectionMode::Multiple ) { - pWin->ReleaseMouse(); + ReleaseMouse(); nFlags &= ~SelectionEngineFlags::IN_SEL; return false; } @@ -244,10 +244,8 @@ bool SelectionEngine::SelMouseButtonUp( const MouseEvent& rMEvt ) return false; } - if( !rMEvt.IsRight() ) - { - ReleaseMouse(); - } + if (!rMEvt.IsRight()) + ReleaseMouse(); if( (nFlags & SelectionEngineFlags::WAIT_UPEVT) && !(nFlags & SelectionEngineFlags::CMDEVT) && eSelMode != SelectionMode::Single) @@ -324,8 +322,8 @@ void SelectionEngine::SetWindow( vcl::Window* pNewWin ) { if( pNewWin != pWin ) { - if ( pWin && (nFlags & SelectionEngineFlags::IN_SEL) ) - pWin->ReleaseMouse(); + if (nFlags & SelectionEngineFlags::IN_SEL) + ReleaseMouse(); pWin = pNewWin; if ( pWin && ( nFlags & SelectionEngineFlags::IN_SEL ) ) pWin->CaptureMouse(); @@ -335,8 +333,8 @@ void SelectionEngine::SetWindow( vcl::Window* pNewWin ) void SelectionEngine::Reset() { aWTimer.Stop(); - if ( nFlags & SelectionEngineFlags::IN_SEL ) - pWin->ReleaseMouse(); + if (nFlags & SelectionEngineFlags::IN_SEL) + ReleaseMouse(); nFlags &= ~SelectionEngineFlags(SelectionEngineFlags::HAS_ANCH | SelectionEngineFlags::IN_SEL); nLockedMods = 0; } |