summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java')
-rw-r--r--platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java42
1 files changed, 22 insertions, 20 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 7919d1f894d0..b093773bc0fb 100644
--- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java
+++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginInstaller.java
@@ -159,33 +159,35 @@ public class PluginInstaller {
}
}
- synchronized (myLock) {
- PluginDownloader downloader = null;
- final String repositoryName = pluginNode.getRepositoryName();
- if (repositoryName != null) {
- try {
- final Map<PluginId, PluginDownloader> downloaders = new HashMap<PluginId, PluginDownloader>();
- if (!UpdateChecker.checkPluginsHost(repositoryName, downloaders)) {
- return false;
- }
- downloader = downloaders.get(pluginNode.getPluginId());
- if (downloader == null) return false;
- }
- catch (Exception e) {
+ PluginDownloader downloader = null;
+ final String repositoryName = pluginNode.getRepositoryName();
+ if (repositoryName != null) {
+ try {
+ final Map<PluginId, PluginDownloader> downloaders = new HashMap<PluginId, PluginDownloader>();
+ if (!UpdateChecker.checkPluginsHost(repositoryName, downloaders)) {
return false;
}
+ downloader = downloaders.get(pluginNode.getPluginId());
+ if (downloader == null) return false;
}
- else {
- downloader = PluginDownloader.createDownloader(pluginNode);
+ catch (Exception e) {
+ return false;
}
- if (downloader.prepareToInstall(ProgressManager.getInstance().getProgressIndicator())) {
+ }
+ else {
+ downloader = PluginDownloader.createDownloader(pluginNode);
+ }
+
+ if (downloader.prepareToInstall(ProgressManager.getInstance().getProgressIndicator())) {
+ synchronized (myLock) {
downloader.install();
- pluginNode.setStatus(PluginNode.STATUS_DOWNLOADED);
- }
- else {
- return false;
}
+ pluginNode.setStatus(PluginNode.STATUS_DOWNLOADED);
+ }
+ else {
+ return false;
}
+
return true;
}