Kaydet (Commit) 59c15729 authored tarafından Caolán McNamara's avatar Caolán McNamara

SelectionEngine::ReleaseMouse checks for null pWin

Change-Id: I80e6a304d07fcc290e73e6251f520926398a7ecb
Reviewed-on: https://gerrit.libreoffice.org/70215
Tested-by: Jenkins
Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 592a7297
...@@ -149,7 +149,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) ...@@ -149,7 +149,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt )
{ {
nFlags |= SelectionEngineFlags::WAIT_UPEVT; nFlags |= SelectionEngineFlags::WAIT_UPEVT;
nFlags &= ~SelectionEngineFlags::IN_SEL; nFlags &= ~SelectionEngineFlags::IN_SEL;
pWin->ReleaseMouse(); ReleaseMouse();
return true; // wait for STARTDRAG-Command-Event return true; // wait for STARTDRAG-Command-Event
} }
if ( eSelMode != SelectionMode::Single ) if ( eSelMode != SelectionMode::Single )
...@@ -170,7 +170,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) ...@@ -170,7 +170,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt )
case KEY_SHIFT: case KEY_SHIFT:
if ( eSelMode == SelectionMode::Single ) if ( eSelMode == SelectionMode::Single )
{ {
pWin->ReleaseMouse(); ReleaseMouse();
nFlags &= ~SelectionEngineFlags::IN_SEL; nFlags &= ~SelectionEngineFlags::IN_SEL;
return false; return false;
} }
...@@ -194,7 +194,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) ...@@ -194,7 +194,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt )
if ( eSelMode != SelectionMode::Multiple ) if ( eSelMode != SelectionMode::Multiple )
{ {
nFlags &= ~SelectionEngineFlags::IN_SEL; nFlags &= ~SelectionEngineFlags::IN_SEL;
pWin->ReleaseMouse(); ReleaseMouse();
return true; // skip Mouse-Click return true; // skip Mouse-Click
} }
if ( nFlags & SelectionEngineFlags::HAS_ANCH ) if ( nFlags & SelectionEngineFlags::HAS_ANCH )
...@@ -217,7 +217,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) ...@@ -217,7 +217,7 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt )
case KEY_SHIFT + KEY_MOD1: case KEY_SHIFT + KEY_MOD1:
if ( eSelMode != SelectionMode::Multiple ) if ( eSelMode != SelectionMode::Multiple )
{ {
pWin->ReleaseMouse(); ReleaseMouse();
nFlags &= ~SelectionEngineFlags::IN_SEL; nFlags &= ~SelectionEngineFlags::IN_SEL;
return false; return false;
} }
...@@ -244,10 +244,8 @@ bool SelectionEngine::SelMouseButtonUp( const MouseEvent& rMEvt ) ...@@ -244,10 +244,8 @@ bool SelectionEngine::SelMouseButtonUp( const MouseEvent& rMEvt )
return false; return false;
} }
if( !rMEvt.IsRight() ) if (!rMEvt.IsRight())
{ ReleaseMouse();
ReleaseMouse();
}
if( (nFlags & SelectionEngineFlags::WAIT_UPEVT) && !(nFlags & SelectionEngineFlags::CMDEVT) && if( (nFlags & SelectionEngineFlags::WAIT_UPEVT) && !(nFlags & SelectionEngineFlags::CMDEVT) &&
eSelMode != SelectionMode::Single) eSelMode != SelectionMode::Single)
...@@ -324,8 +322,8 @@ void SelectionEngine::SetWindow( vcl::Window* pNewWin ) ...@@ -324,8 +322,8 @@ void SelectionEngine::SetWindow( vcl::Window* pNewWin )
{ {
if( pNewWin != pWin ) if( pNewWin != pWin )
{ {
if ( pWin && (nFlags & SelectionEngineFlags::IN_SEL) ) if (nFlags & SelectionEngineFlags::IN_SEL)
pWin->ReleaseMouse(); ReleaseMouse();
pWin = pNewWin; pWin = pNewWin;
if ( pWin && ( nFlags & SelectionEngineFlags::IN_SEL ) ) if ( pWin && ( nFlags & SelectionEngineFlags::IN_SEL ) )
pWin->CaptureMouse(); pWin->CaptureMouse();
...@@ -335,8 +333,8 @@ void SelectionEngine::SetWindow( vcl::Window* pNewWin ) ...@@ -335,8 +333,8 @@ void SelectionEngine::SetWindow( vcl::Window* pNewWin )
void SelectionEngine::Reset() void SelectionEngine::Reset()
{ {
aWTimer.Stop(); aWTimer.Stop();
if ( nFlags & SelectionEngineFlags::IN_SEL ) if (nFlags & SelectionEngineFlags::IN_SEL)
pWin->ReleaseMouse(); ReleaseMouse();
nFlags &= ~SelectionEngineFlags(SelectionEngineFlags::HAS_ANCH | SelectionEngineFlags::IN_SEL); nFlags &= ~SelectionEngineFlags(SelectionEngineFlags::HAS_ANCH | SelectionEngineFlags::IN_SEL);
nLockedMods = 0; nLockedMods = 0;
} }
......
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