diff options
Diffstat (limited to 'vcl/source/window/seleng.cxx')
-rw-r--r-- | vcl/source/window/seleng.cxx | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/vcl/source/window/seleng.cxx b/vcl/source/window/seleng.cxx index 41d0d5f89ec9..c8ee805b7354 100644 --- a/vcl/source/window/seleng.cxx +++ b/vcl/source/window/seleng.cxx @@ -256,6 +256,12 @@ bool SelectionEngine::SelMouseButtonUp( const MouseEvent& rMEvt ) if (!rMEvt.IsRight()) ReleaseMouse(); +#if defined IOS || defined ANDROID + const bool bDoMessWithSelection = !rMEvt.IsRight(); +#else + constexpr bool bDoMessWithSelection = true; +#endif + if( (nFlags & SelectionEngineFlags::WAIT_UPEVT) && !(nFlags & SelectionEngineFlags::CMDEVT) && eSelMode != SelectionMode::Single) { @@ -271,13 +277,16 @@ bool SelectionEngine::SelMouseButtonUp( const MouseEvent& rMEvt ) } pFunctionSet->DeselectAtPoint( aLastMove.GetPosPixel() ); nFlags &= ~SelectionEngineFlags::HAS_ANCH; // uncheck anchor - pFunctionSet->SetCursorAtPoint( aLastMove.GetPosPixel(), true ); + if (bDoMessWithSelection) + pFunctionSet->SetCursorAtPoint( aLastMove.GetPosPixel(), true ); } else { - pFunctionSet->DeselectAll(); + if (bDoMessWithSelection) + pFunctionSet->DeselectAll(); nFlags &= ~SelectionEngineFlags::HAS_ANCH; // uncheck anchor - pFunctionSet->SetCursorAtPoint( aLastMove.GetPosPixel() ); + if (bDoMessWithSelection) + pFunctionSet->SetCursorAtPoint( aLastMove.GetPosPixel() ); } } |