From ddf6cc5b60eb1de4b7ce73c69d617cc1bb0a1979 Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Mon, 15 Jul 2019 21:47:24 +0300 Subject: [PATCH] Turn to lazy add laf listener GitOrigin-RevId: c2fe2f5f46172c64cbed8ef6b3db3ea7a6fe7e71 --- .../src/com/intellij/ide/plugins/newui/PluginLogo.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginLogo.java b/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginLogo.java index aa2949830ed2..3e65f01c83bb 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginLogo.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/newui/PluginLogo.java @@ -6,6 +6,7 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor; import com.intellij.ide.plugins.InstalledPluginsState; import com.intellij.ide.plugins.PluginManagerCore; import com.intellij.ide.ui.LafManager; +import com.intellij.ide.ui.LafManagerListener; import com.intellij.openapi.application.*; import com.intellij.openapi.application.impl.ApplicationInfoImpl; import com.intellij.openapi.diagnostic.Logger; @@ -49,9 +50,11 @@ public class PluginLogo { private static PluginLogoIconProvider Default; private static List> myPrepareToLoad; - static { - if (!GraphicsEnvironment.isHeadless()) { - LafManager.getInstance().addLafManagerListener(_0 -> { + private static LafManagerListener myLafListener; + + private static void initLafListener() { + if (myLafListener == null && !GraphicsEnvironment.isHeadless()) { + LafManager.getInstance().addLafManagerListener(myLafListener = _0 -> { Default = null; HiDPIPluginLogoIcon.clearCache(); }); @@ -60,6 +63,7 @@ public class PluginLogo { @NotNull public static Icon getIcon(@NotNull IdeaPluginDescriptor descriptor, boolean big, boolean jb, boolean error, boolean disabled) { + initLafListener(); return getIcon(descriptor).getIcon(big, jb, error, disabled); }