From c0f341d3e08e7e833e121d6326acdfd2d4449c88 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 11 Jan 2012 11:40:33 +0100 Subject: [PATCH] plugins: clear all plugin occurrences on delete (IDEA-79624) --- .../com/intellij/ide/plugins/ActionUninstallPlugin.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/ActionUninstallPlugin.java b/platform/platform-impl/src/com/intellij/ide/plugins/ActionUninstallPlugin.java index 827b8116362b..233013813712 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/ActionUninstallPlugin.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/ActionUninstallPlugin.java @@ -23,6 +23,7 @@ import com.intellij.openapi.extensions.PluginId; import com.intellij.openapi.project.DumbAware; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.IconLoader; +import com.intellij.openapi.util.JDOMExternalizableStringList; import java.io.IOException; import java.util.ArrayList; @@ -105,7 +106,11 @@ public class ActionUninstallPlugin extends AnAction implements DumbAware { try { PluginInstaller.prepareToUninstall(pluginId); - PluginManagerUISettings.getInstance().myInstalledPlugins.remove(pluginId.getIdString()); + final JDOMExternalizableStringList installedPlugins = PluginManagerUISettings.getInstance().myInstalledPlugins; + final String pluginIdString = pluginId.getIdString(); + while (installedPlugins.contains(pluginIdString)) { + installedPlugins.remove(pluginIdString); + } host.setRequireShutdown(descriptor.isEnabled()); pluginTable.updateUI(); }