diff --git a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.java b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.java index ac657aefb963..b6ccede3ea81 100644 --- a/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.java +++ b/platform/editor-ui-api/src/com/intellij/ide/ui/UISettings.java @@ -53,15 +53,8 @@ public class UISettings extends SimpleModificationTracker implements PersistentS /** Not tabbed pane. */ public static final int TABS_NONE = 0; - private String lafID; - public static UISettings getInstance() { - UISettings instance = ServiceManager.getService(UISettings.class); - if (!instance.lafID.equals(UIManager.getLookAndFeel().getID())) { - // Re-init if LaF changed. - instance.init(); - } - return instance; + return ServiceManager.getService(UISettings.class); } /** @@ -142,10 +135,6 @@ public class UISettings extends SimpleModificationTracker implements PersistentS private final EventDispatcher myDispatcher = EventDispatcher.create(UISettingsListener.class); public UISettings() { - init(); - } - - private void init() { tweakPlatformDefaults(); setSystemFontFaceAndSize(); @@ -153,7 +142,6 @@ public class UISettings extends SimpleModificationTracker implements PersistentS if (scrollToSource != null) { DEFAULT_AUTOSCROLL_TO_SOURCE = scrollToSource; } - lafID = UIManager.getLookAndFeel().getID(); } private void tweakPlatformDefaults() { @@ -193,9 +181,11 @@ public class UISettings extends SimpleModificationTracker implements PersistentS } private void setSystemFontFaceAndSize() { - final Pair fontData = getSystemFontFaceAndSize(); - FONT_FACE = fontData.first; - FONT_SIZE = fontData.second; + if (FONT_FACE == null || FONT_SIZE <= 0) { + final Pair fontData = getSystemFontFaceAndSize(); + FONT_FACE = fontData.first; + FONT_SIZE = fontData.second; + } } private static Pair getSystemFontFaceAndSize() {