From 5cb76f3347bb5f493a4b262aa195e077ec6b0262 Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Thu, 20 Aug 2015 18:20:29 +0300 Subject: [PATCH] Do not register shortcut set if rootpane is null Unregister shortcut set on dialog closing --- .../com/intellij/openapi/ui/DialogWrapper.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java index 2e47619ace92..7b16dbe1efe7 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java @@ -687,13 +687,16 @@ public abstract class DialogWrapper { for (final JBOptionButton.OptionInfo eachInfo : infos) { if (eachInfo.getMnemonic() >= 0) { final char mnemonic = (char)eachInfo.getMnemonic(); - new AnAction() { - @Override - public void actionPerformed(AnActionEvent e) { - final JBOptionButton buttonToActivate = eachInfo.getButton(); - buttonToActivate.showPopup(eachInfo.getAction(), true); - } - }.registerCustomShortcutSet(MnemonicHelper.createShortcut(mnemonic), getPeer().getRootPane()); + JRootPane rootPane = getPeer().getRootPane(); + if (rootPane != null) { + new AnAction() { + @Override + public void actionPerformed(AnActionEvent e) { + final JBOptionButton buttonToActivate = eachInfo.getButton(); + buttonToActivate.showPopup(eachInfo.getAction(), true); + } + }.registerCustomShortcutSet(MnemonicHelper.createShortcut(mnemonic), rootPane, myDisposable); + } } } }