From fb8d49e6c08d44415d34f8b355ff52e67f2a9938 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 16 Feb 2012 11:15:43 +0100 Subject: [PATCH] NPE fix --- .../platform-api/src/com/intellij/ide/ui/UISettings.java | 5 +++-- .../src/com/intellij/openapi/ui/DialogWrapper.java | 6 ++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/platform/platform-api/src/com/intellij/ide/ui/UISettings.java b/platform/platform-api/src/com/intellij/ide/ui/UISettings.java index 8e095dd9e0ab..c8b8309a0652 100644 --- a/platform/platform-api/src/com/intellij/ide/ui/UISettings.java +++ b/platform/platform-api/src/com/intellij/ide/ui/UISettings.java @@ -18,6 +18,7 @@ package com.intellij.ide.ui; import com.intellij.ide.IdeBundle; import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.Application; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.components.ExportableApplicationComponent; @@ -159,8 +160,8 @@ public class UISettings implements PersistentStateComponent, Exporta * @return UISettings instance or default values */ public static UISettings getShadowInstance() { - UISettings instance = getInstance(); - return instance == null ? new UISettings() : instance; + Application application = ApplicationManager.getApplication(); + return application != null ? getInstance() : new UISettings(); } public void removeUISettingsListener(UISettingsListener listener){ 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 0acb22d35098..f0ffac69580f 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java @@ -499,8 +499,7 @@ public abstract class DialogWrapper { } private JPanel createButtons(Action[] actions, List buttons) { - UISettings uiSettings = UISettings.getInstance(); - if (uiSettings != null && !uiSettings.ALLOW_MERGE_BUTTONS) { + if (!UISettings.getShadowInstance().ALLOW_MERGE_BUTTONS) { final List actionList = new ArrayList(); for (Action action : actions) { actionList.add(action); @@ -553,8 +552,7 @@ public abstract class DialogWrapper { */ protected JButton createJButtonForAction(Action action) { JButton button; - UISettings uiSettings = UISettings.getInstance(); - if (action instanceof OptionAction && uiSettings != null && uiSettings.ALLOW_MERGE_BUTTONS) { + if (action instanceof OptionAction && UISettings.getShadowInstance().ALLOW_MERGE_BUTTONS) { final Action[] options = ((OptionAction)action).getOptions(); button = new JBOptionButton(action, options); final JBOptionButton eachOptionsButton = (JBOptionButton)button;