From 1bb68c4a378357ce59f4c07f1ea0cc5dafe65aa3 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Thu, 31 Oct 2013 10:08:59 +0400 Subject: [PATCH] External system: EA-48201 - assert: ComponentManagerImpl.getPicoContainer --- .../openapi/externalSystem/model/task/ExternalSystemTaskId.java | 2 +- .../service/execution/ExternalSystemRunConfiguration.java | 2 ++ .../service/project/autoimport/ExternalSystemAutoImporter.java | 2 +- .../project/wizard/AbstractExternalProjectImportBuilder.java | 1 + .../openapi/externalSystem/util/ExternalSystemUtil.java | 2 ++ 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/task/ExternalSystemTaskId.java b/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/task/ExternalSystemTaskId.java index ba88c5288cff..ea63c26c88ff 100644 --- a/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/task/ExternalSystemTaskId.java +++ b/platform/external-system-api/src/com/intellij/openapi/externalSystem/model/task/ExternalSystemTaskId.java @@ -62,7 +62,7 @@ public class ExternalSystemTaskId implements Serializable { @NotNull public static String getProjectId(@NotNull Project project) { - return project.getName() + ":" + project.getLocationHash(); + return project.isDisposed() ? project.getName() : project.getName() + ":" + project.getLocationHash(); } @Nullable diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/execution/ExternalSystemRunConfiguration.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/execution/ExternalSystemRunConfiguration.java index 5bf62b1cc5c5..60c05b756f6f 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/execution/ExternalSystemRunConfiguration.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/execution/ExternalSystemRunConfiguration.java @@ -138,6 +138,8 @@ public class ExternalSystemRunConfiguration extends LocatableConfigurationBase { @Nullable @Override public ExecutionResult execute(Executor executor, @NotNull ProgramRunner runner) throws ExecutionException { + if(myProject.isDisposed()) return null; + ExternalSystemUtil.updateRecentTasks(new ExternalTaskExecutionInfo(mySettings.clone(), executor.getId()), myProject); ConsoleView console = new TextConsoleBuilderImpl(myProject).getConsole(); final List tasks = ContainerUtilRt.newArrayList(); diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/autoimport/ExternalSystemAutoImporter.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/autoimport/ExternalSystemAutoImporter.java index dd6fe984409b..9f30aa228f2b 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/autoimport/ExternalSystemAutoImporter.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/autoimport/ExternalSystemAutoImporter.java @@ -295,7 +295,7 @@ public class ExternalSystemAutoImporter implements BulkFileListener, DocumentLis } private void refreshFilesIfNecessary() { - if (myFilesToRefresh.isEmpty()) { + if (myFilesToRefresh.isEmpty() || myProject.isDisposed()) { return; } diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java index 4a406120d40d..d1969cfd7e49 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/wizard/AbstractExternalProjectImportBuilder.java @@ -156,6 +156,7 @@ public abstract class AbstractExternalProjectImportBuilder