From 7ef6dd206b6a52fa368b9e575be80b2b5e8df8e5 Mon Sep 17 00:00:00 2001 From: Sergey Simonchik Date: Tue, 11 Feb 2014 16:30:57 +0400 Subject: [PATCH] WEB-10929 Bower: Throwable on Uninstall package --- .../packaging/InstalledPackagesPanel.java | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java b/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java index fe8b13dc6988..913d1f465b7f 100644 --- a/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java +++ b/platform/lang-impl/src/com/intellij/webcore/packaging/InstalledPackagesPanel.java @@ -344,27 +344,37 @@ public class InstalledPackagesPanel extends JPanel { PackageManagementService.Listener listener = new PackageManagementService.Listener() { @Override public void operationStarted(String packageName) { - myPackagesTable.setPaintBusy(true); + UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + myPackagesTable.setPaintBusy(true); + } + }); } @Override - public void operationFinished(String packageName, @Nullable String errorDescription) { - myPackagesTable.clearSelection(); - updatePackages(selPackageManagementService); - myPackagesTable.setPaintBusy(false); - if (errorDescription == null) { - if (packageName != null) { - myNotificationArea.showSuccess("Package '" + packageName + "' successfully uninstalled"); + public void operationFinished(final String packageName, @Nullable final String errorDescription) { + UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + myPackagesTable.clearSelection(); + updatePackages(selPackageManagementService); + myPackagesTable.setPaintBusy(false); + if (errorDescription == null) { + if (packageName != null) { + myNotificationArea.showSuccess("Package '" + packageName + "' successfully uninstalled"); + } + else { + myNotificationArea.showSuccess("Packages successfully uninstalled"); + } + } + else { + myNotificationArea.showError("Uninstall packages failed. Details...", + "Uninstall Packages Failed", + "Uninstall packages failed.\n" + errorDescription); + } } - else { - myNotificationArea.showSuccess("Packages successfully uninstalled"); - } - } - else { - myNotificationArea.showError("Uninstall packages failed. Details...", - "Uninstall Packages Failed", - "Uninstall packages failed.\n" + errorDescription); - } + }); } }; myPackageManagementService.uninstallPackages(packages, listener);