diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/DefaultProject.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/DefaultProject.java index 64146c8ca963..ea5c77fe982f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/DefaultProject.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/DefaultProject.java @@ -3,6 +3,7 @@ package com.intellij.openapi.project.impl; import com.intellij.openapi.components.ComponentConfig; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.project.ProjectManager; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -50,5 +51,6 @@ final class DefaultProject extends ProjectImpl { if (LOG.isDebugEnabled()) { LOG.debug("Disposed DefaultProject "+this); } + ((ProjectManagerImpl)ProjectManager.getInstance()).updateTheOnlyProjectField(); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java index b8e44c862a89..6f953708da07 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectImpl.java @@ -29,7 +29,6 @@ import com.intellij.openapi.progress.ProgressIndicatorProvider; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.DumbAwareRunnable; import com.intellij.openapi.project.Project; -import com.intellij.openapi.project.ProjectManager; import com.intellij.openapi.project.ex.ProjectEx; import com.intellij.openapi.project.ex.ProjectManagerEx; import com.intellij.openapi.startup.StartupManager; @@ -348,8 +347,6 @@ public class ProjectImpl extends PlatformComponentManagerImpl implements Project if (!application.isDisposed()) { application.getMessageBus().syncPublisher(ProjectLifecycleListener.TOPIC).afterProjectClosed(this); } - ((ProjectManagerImpl)ProjectManager.getInstance()).updateTheOnlyProjectField(); - TimedReference.disposeTimed(); LaterInvocator.purgeExpiredItems(); } diff --git a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java index 97e71eaad3ee..764d5e81deb9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/impl/ProjectManagerImpl.java @@ -459,6 +459,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements Disposable { private void removeFromOpened(@NotNull Project project) { synchronized (lock) { myOpenProjects = ArrayUtil.remove(myOpenProjects, project); + updateTheOnlyProjectField(); myOpenProjectByHash.values().remove(project); // remove by value and not by key! } }