From b66e463eb62c8dc6a2e3f267f08dc616ec1c77f2 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 15 May 2012 16:12:50 +0400 Subject: [PATCH] clear cached installation status in place, otherwise it would be cleared after leaving modal context only (IDEA-86090) --- .../intellij/ide/plugins/PluginInstaller.java | 1 + .../ide/plugins/PluginManagerMain.java | 23 +++++++------------ 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java index 08cc5c2d995f..069c6274969e 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java @@ -67,6 +67,7 @@ public class PluginInstaller { Messages.showErrorDialog(pluginNode.getName() + ": " + e.getMessage(), CommonBundle.message("title.error")); } }); + return false; } } return result; diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java index 4d533fc3a724..a074c9363748 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java @@ -300,22 +300,15 @@ public abstract class PluginManagerMain implements Disposable { ProgressManager.getInstance().run(new Task.Backgroundable(null, IdeBundle.message("progress.download.plugins"), true) { @Override public void run(@NotNull ProgressIndicator indicator) { - if (PluginInstaller.prepareToInstall(plugins, allPlugins)) { - ApplicationManager.getApplication().invokeLater(onSuccess); - result[0] = true; + try { + if (PluginInstaller.prepareToInstall(plugins, allPlugins)) { + ApplicationManager.getApplication().invokeLater(onSuccess); + result[0] = true; + } + } + finally { + cleanup.run(); } - } - - @Override - public void onCancel() { - cleanup.run(); - super.onCancel(); - } - - @Override - public void onSuccess() { - super.onSuccess(); - cleanup.run(); } }); }