include/vcl/seleng.hxx | 1 + vcl/source/window/seleng.cxx | 13 ++++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-)
New commits: commit 3259c1058913887f51af456918927a50d139d70d Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Apr 3 15:17:15 2019 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Apr 4 10:29:48 2019 +0200 add nullchecking SelectionEngine::CaptureMouse Change-Id: Ie8594c8fe2a9e2d84121f3a6a1ee8afab265b14f Reviewed-on: https://gerrit.libreoffice.org/70216 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/include/vcl/seleng.hxx b/include/vcl/seleng.hxx index 800e767c7cba..472226fbb661 100644 --- a/include/vcl/seleng.hxx +++ b/include/vcl/seleng.hxx @@ -104,6 +104,7 @@ public: //context menu via "Command" which is delivered after //mouse down but before mouse up, then use this void ReleaseMouse(); + void CaptureMouse(); // Keyboard void CursorPosChanging( bool bShift, bool bMod1 ); 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(); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits