From f74dad81fb5aced2e9c2fb1fae36899a53702c9e Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 7 Oct 2019 13:18:17 +0200 Subject: [PATCH] Clear cached JetBrains icons when themes are added or removed GitOrigin-RevId: 542f4668493bbce794436a38bd491b01c88456e2 --- .../com/intellij/ide/plugins/newui/PluginLogo.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 5cec976d03b2..d6b146aeb716 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,9 +6,11 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor; import com.intellij.ide.plugins.InstalledPluginsState; import com.intellij.ide.plugins.PluginManagerCore; import com.intellij.ide.ui.LafManagerListener; +import com.intellij.ide.ui.UIThemeProvider; import com.intellij.openapi.application.*; import com.intellij.openapi.application.impl.ApplicationInfoImpl; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.extensions.ExtensionPointAdapter; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.ThrowableComputable; import com.intellij.openapi.util.io.FileUtil; @@ -59,10 +61,19 @@ public final class PluginLogo { return; } - ApplicationManager.getApplication().getMessageBus().connect().subscribe(LafManagerListener.TOPIC, source -> { + final Application application = ApplicationManager.getApplication(); + application.getMessageBus().connect().subscribe(LafManagerListener.TOPIC, source -> { Default = null; HiDPIPluginLogoIcon.clearCache(); }); + + UIThemeProvider.EP_NAME.addExtensionPointListener(new ExtensionPointAdapter() { + @Override + public void extensionListChanged() { + Default = null; + HiDPIPluginLogoIcon.clearCache(); + } + }, application); } }