diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java index 344b52b4f301..edd4506d135b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/IdeKeyEventDispatcher.java @@ -523,10 +523,15 @@ public final class IdeKeyEventDispatcher implements Disposable { public void performAction(final InputEvent e, final AnAction action, final AnActionEvent actionEvent) { e.consume(); - if (Registry.is("actionSystem.fixLostTyping")) { - IdeEventQueue.getInstance().getKeyEventDispatcher().resetState(); - } action.actionPerformed(actionEvent); + if (Registry.is("actionSystem.fixLostTyping")) { + IdeEventQueue.getInstance().doWhenReady(new Runnable() { + @Override + public void run() { + IdeEventQueue.getInstance().getKeyEventDispatcher().resetState(); + } + }); + } } };