diff --git a/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java b/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java index 07f5477b6d15..184b2331f1d0 100644 --- a/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java +++ b/platform/lang-impl/src/com/intellij/webcore/packaging/ManagePackagesDialog.java @@ -275,16 +275,26 @@ public class ManagePackagesDialog extends DialogWrapper { } private void updateInstalledPackages() { - try { - Collection installedPackages = myController.getInstalledPackages(); - myInstalledPackages.clear(); - for (InstalledPackage pkg : installedPackages) { - myInstalledPackages.add(pkg.getName()); + ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { + @Override + public void run() { + try { + final Collection installedPackages = myController.getInstalledPackages(); + UIUtil.invokeLaterIfNeeded(new Runnable() { + @Override + public void run() { + myInstalledPackages.clear(); + for (InstalledPackage pkg : installedPackages) { + myInstalledPackages.add(pkg.getName()); + } + } + }); + } + catch(IOException e) { + LOG.info("Error updating list of installed packages:" + e); + } } - } - catch(IOException e) { - LOG.info("Error updating list of installed packages:" + e); - } + }); } public void initModel() {