From 89b353ca0e582fa2f07e87b02e6f05eda78cbe70 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 5 Oct 2015 10:25:25 +0100 Subject: [PATCH] NPE fix in mnemonics painting (cherry picked from commit c7e3ebbc83a19a22a3039e17906aafd65ca6e573) --- .../intellij/ide/ui/laf/darcula/DarculaLaf.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/DarculaLaf.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/DarculaLaf.java index 66b07a5304a7..e398cbfb0f12 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/DarculaLaf.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/DarculaLaf.java @@ -458,13 +458,15 @@ public class DarculaLaf extends BasicLookAndFeel { private static void repaintMnemonics(@NotNull Component focusOwner, boolean pressed) { if (pressed != myAltPressed) return; Window window = SwingUtilities.windowForComponent(focusOwner); - for (Component component : window.getComponents()) { - if (component instanceof JComponent) { - for (JComponent c : UIUtil.findComponentsOfType((JComponent)component, JComponent.class)) { - if ((c instanceof JLabel && ((JLabel)c).getDisplayedMnemonicIndex() != -1) - || (c instanceof AbstractButton && ((AbstractButton)c).getDisplayedMnemonicIndex() != -1) - ) { - c.repaint(); + if (window != null) { + for (Component component : window.getComponents()) { + if (component instanceof JComponent) { + for (JComponent c : UIUtil.findComponentsOfType((JComponent)component, JComponent.class)) { + if ((c instanceof JLabel && ((JLabel)c).getDisplayedMnemonicIndex() != -1) + || (c instanceof AbstractButton && ((AbstractButton)c).getDisplayedMnemonicIndex() != -1) + ) { + c.repaint(); + } } } }