summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/edit/vclmedit.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/vcl/source/edit/vclmedit.cxx b/vcl/source/edit/vclmedit.cxx
index d24e118b4f7e..3008a7e887d0 100644
--- a/vcl/source/edit/vclmedit.cxx
+++ b/vcl/source/edit/vclmedit.cxx
@@ -724,8 +724,19 @@ void TextWindow::KeyInput( const KeyEvent& rKEvent )
}
else if ( nCode == KEY_TAB )
{
- if ( !mbIgnoreTab || rKEvent.GetKeyCode().IsMod1() )
- bDone = mpExtTextView->KeyInput( rKEvent );
+ if (!mbIgnoreTab)
+ {
+ if (!rKEvent.GetKeyCode().IsMod1())
+ bDone = mpExtTextView->KeyInput(rKEvent);
+ else
+ {
+ // tdf#107625 make ctrl+tab act like tab when MultiLine Edit normally accepts tab as an input char
+ vcl::KeyCode aKeyCode(rKEvent.GetKeyCode().GetCode(), rKEvent.GetKeyCode().GetModifier() & ~KEY_MOD1);
+ KeyEvent aKEventWithoutMod1(rKEvent.GetCharCode(), aKeyCode, rKEvent.GetRepeat());
+ Window::KeyInput(aKEventWithoutMod1);
+ bDone = true;
+ }
+ }
}
else
{