diff options
| author | Markus Keller | 2013-11-05 15:55:03 +0000 |
|---|---|---|
| committer | Dani Megert | 2013-11-05 16:09:13 +0000 |
| commit | ea1d2926a719576cb09317a9b69c03f3ecc69f09 (patch) | |
| tree | 4a9ff0db5ee27baf75b511ea30c46d4a07d9d014 | |
| parent | 46e042f1b55354a41ee5ec434e695496c77f999e (diff) | |
| download | eclipse.platform.ui-ea1d2926a719576cb09317a9b69c03f3ecc69f09.tar.gz eclipse.platform.ui-ea1d2926a719576cb09317a9b69c03f3ecc69f09.tar.xz eclipse.platform.ui-ea1d2926a719576cb09317a9b69c03f3ecc69f09.zip | |
Fixed bug 369860: [KeyBinding] Keybinding assist popup eats keys (for two-chord shortcuts)M20131113-0800M20131106-0800
2 files changed, 9 insertions, 1 deletions
diff --git a/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/internal/KeyAssistDialog.java b/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/internal/KeyAssistDialog.java index 4fedce7a8de..62f0af2563a 100644 --- a/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/internal/KeyAssistDialog.java +++ b/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/internal/KeyAssistDialog.java @@ -172,7 +172,11 @@ public class KeyAssistDialog extends PopupDialog { completionsTable = null; } matches = null; - return super.close(); + boolean popupClosed = super.close(); + if (resetState) { + workbenchKeyboard.resetState(); + } + return popupClosed; } /** diff --git a/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/keys/KeyBindingDispatcher.java b/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/keys/KeyBindingDispatcher.java index d046f7834c3..db9d48ed664 100644 --- a/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/keys/KeyBindingDispatcher.java +++ b/bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/keys/KeyBindingDispatcher.java @@ -570,6 +570,10 @@ public class KeyBindingDispatcher { } } + public void resetState() { + resetState(true); + } + private void resetState(boolean clearRememberedState) { startTime = Long.MAX_VALUE; state = KeySequence.getInstance(); |
