diff options
Diffstat (limited to 'vcl/source/window')
-rw-r--r-- | vcl/source/window/seleng.cxx | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/vcl/source/window/seleng.cxx b/vcl/source/window/seleng.cxx index 8e81ce88d095..e659db7a5875 100644 --- a/vcl/source/window/seleng.cxx +++ b/vcl/source/window/seleng.cxx @@ -119,7 +119,9 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) return false; sal_uInt16 nModifier = rMEvt.GetModifier() | nLockedMods; - if ( nModifier & KEY_MOD2 ) + bool nSwap = comphelper::LibreOfficeKit::isActive() && (nModifier & KEY_MOD1) && (nModifier & KEY_MOD2); + + if ( !nSwap && (nModifier & KEY_MOD2) ) return false; // in SingleSelection: filter Control-Key, // so that a D&D can be also started with a Ctrl-Click @@ -139,6 +141,13 @@ bool SelectionEngine::SelMouseButtonDown( const MouseEvent& rMEvt ) nModifier = 0; } + if (nSwap) + { + pFunctionSet->CreateAnchor(); + pFunctionSet->SetCursorAtPoint( aPos ); + return true; + } + switch ( nModifier ) { case 0: // KEY_NO_KEY |