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); }