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