summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/control/ilstbox.cxx22
1 files changed, 13 insertions, 9 deletions
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 2ec92334e880..e5d29ea4a98e 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -1357,6 +1357,7 @@ bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
bool bCtrl = aKeyCode.IsMod1() || aKeyCode.IsMod3();
bool bMod2 = aKeyCode.IsMod2();
bool bDone = false;
+ bool bHandleKey = false;
switch( aKeyCode.GetCode() )
{
@@ -1572,7 +1573,7 @@ bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
}
bDone = true;
}
- maQuickSelectionEngine.Reset();
+ bHandleKey = true;
}
break;
@@ -1595,18 +1596,21 @@ bool ImplListBoxWindow::ProcessKeyInput( const KeyEvent& rKEvt )
maQuickSelectionEngine.Reset();
bDone = true;
- break;
}
- }
- // fall through intentional
- default:
- {
- if ( !IsReadOnly() )
+ else
{
- bDone = maQuickSelectionEngine.HandleKeyEvent( rKEvt );
+ bHandleKey = true;
}
- }
+ }
break;
+
+ default:
+ bHandleKey = true;
+ break;
+ }
+ if (bHandleKey && !IsReadOnly())
+ {
+ bDone = maQuickSelectionEngine.HandleKeyEvent( rKEvt );
}
if ( ( nSelect != LISTBOX_ENTRY_NOTFOUND )