From 2dae26057a18ac9337b07c44e7f24c0bfab49d94 Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Wed, 12 Oct 2016 18:47:22 +0300 Subject: [PATCH] IDEA-161881 IllegalArgumentException: Argument for @NotNull parameter 'keymap' of com/intellij/openapi/keymap/impl/ui/ActionsTree.reset must not be null --- .../intellij/openapi/keymap/impl/ui/KeymapPanel.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java index 2bce244988ae..ca8eb948bb3d 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/KeymapPanel.java @@ -668,10 +668,18 @@ public class KeymapPanel extends JPanel implements SearchableConfigurable, Confi myNonEnglishKeyboardSupportOption.setSelected(KeyboardSettingsExternalizable.getInstance().isNonEnglishKeyboardSupportEnabled()); } + Keymap activeKeymap = KeymapManagerEx.getInstanceEx().getActiveKeymap(); Keymap selectedKeymap = null; List list = getManagerKeymaps(); for (Keymap keymap : list) { - if (selectedKeymap == null && keymap == KeymapManagerEx.getInstanceEx().getActiveKeymap()) { + if (activeKeymap == keymap) { + // select active keymap if it is present + selectedKeymap = keymap; + break; + } + if (selectedKeymap == null || KeymapManager.MAC_OS_X_10_5_PLUS_KEYMAP.equals(keymap.getName())) { + // select MacOS X keymap if default keymap is filtered out + // select first keymap if MacOS X keymap is not present selectedKeymap = keymap; } }