From c0913f741e2743c9aa272c72970ffaea3df5cbf5 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Tue, 29 Mar 2016 14:58:28 +0200 Subject: [PATCH] 1. Convert all insets and sizes into JBXXX at start 2. JBXxxUIResource may not extend XxxUIResource, but UIResource. Fix instanceof checks --- .../com/intellij/ide/ui/laf/LafManagerImpl.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/LafManagerImpl.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/LafManagerImpl.java index 168f79f93a9f..8c2aefdf8e37 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/LafManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/LafManagerImpl.java @@ -61,9 +61,8 @@ import org.jetbrains.annotations.Nullable; import javax.swing.*; import javax.swing.event.EventListenerList; import javax.swing.plaf.ColorUIResource; -import javax.swing.plaf.DimensionUIResource; import javax.swing.plaf.FontUIResource; -import javax.swing.plaf.InsetsUIResource; +import javax.swing.plaf.UIResource; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; import javax.swing.plaf.synth.Region; @@ -538,19 +537,19 @@ public final class LafManagerImpl extends LafManager implements ApplicationCompo private static void patchHiDPI(UIDefaults defaults) { Object prevScaleVal = defaults.get("hidpi.scaleFactor"); - float prevScale = prevScaleVal != null ? (Float)prevScaleVal : 1f; + float prevScale = prevScaleVal != null ? (Float)prevScaleVal : JBUI.scale(1f); - if (prevScale == JBUI.scale(1f)) return; + if (prevScale == JBUI.scale(1f) && prevScaleVal != null) return; List myIntKeys = Arrays.asList("Tree.leftChildIndent", "Tree.rightChildIndent"); for (Map.Entry entry : defaults.entrySet()) { Object value = entry.getValue(); String key = entry.getKey().toString(); - if (value instanceof DimensionUIResource) { - entry.setValue(JBUI.size((DimensionUIResource)value).asUIResource()); - } else if (value instanceof InsetsUIResource) { - entry.setValue(JBUI.insets(((InsetsUIResource)value)).asUIResource()); + if (value instanceof Dimension && value instanceof UIResource) { + entry.setValue(JBUI.size((Dimension)value).asUIResource()); + } else if (value instanceof Insets && value instanceof UIResource) { + entry.setValue(JBUI.insets(((Insets)value)).asUIResource()); } else if (value instanceof Integer) { if (key.endsWith(".maxGutterIconWidth") || myIntKeys.contains(key)) { int normValue = (int)((Integer)value / prevScale);