From a9d8ed212159379f06859f4e1250572dd28c48a4 Mon Sep 17 00:00:00 2001 From: Alexey Pegov Date: Thu, 11 Aug 2011 19:59:54 +0400 Subject: [PATCH] assertion for IDEA-71686 Template project settings are lost with certain conditions (exiting IDEA with closed project) --- .../com/intellij/openapi/project/impl/ProjectManagerImpl.java | 4 ++++ 1 file changed, 4 insertions(+) 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 caf6e16fb598..121ae71b7650 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 @@ -103,6 +103,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt private final Map myProjects = new WeakHashMap(); private static final int MAX_LEAKY_PROJECTS = 42; private final ProgressManager myProgressManager; + private boolean myDefaultProjectWasDisposed = false; @NotNull private static List getListeners(Project project) { @@ -185,6 +186,7 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt }); myDefaultProject = null; + myDefaultProjectWasDisposed = true; } } @@ -331,6 +333,8 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt } @NotNull public synchronized Project getDefaultProject() { + // TODO: uncomment this as soon as http://youtrack.jetbrains.net/issue/IDEA-71686 will be fixed! + //LOG.assertTrue(!myDefaultProjectWasDisposed, "Default project was already disposed!"); if (myDefaultProject == null) { try { myDefaultProject = createAndInitProject(null, null, true, ApplicationManager.getApplication().isUnitTestMode(), null);