From b13938b3157d7d8cc2ce47a12cda6a8786bc193d Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Fri, 28 Dec 2012 15:21:31 +0400 Subject: [PATCH] clean project data on project disposal --- .../src/com/intellij/compiler/server/BuildManager.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index ceb5dd1014d3..a819b47121bd 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -29,6 +29,7 @@ import com.intellij.execution.process.*; import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.execution.ui.RunContentManager; import com.intellij.ide.PowerSaveMode; +import com.intellij.openapi.Disposable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PathMacros; import com.intellij.openapi.application.PathManager; @@ -50,6 +51,7 @@ import com.intellij.openapi.roots.ModuleRootAdapter; import com.intellij.openapi.roots.ModuleRootEvent; import com.intellij.openapi.roots.ModuleRootManager; import com.intellij.openapi.roots.ProjectRootManager; +import com.intellij.openapi.util.Disposer; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.ShutDownTracker; import com.intellij.openapi.util.SystemInfo; @@ -1012,6 +1014,13 @@ public class BuildManager implements ApplicationComponent{ scheduleAutoMake(); } }); + final String projectPath = getProjectPath(project); + Disposer.register(project, new Disposable() { + @Override + public void dispose() { + myProjectDataMap.remove(projectPath); + } + }); scheduleAutoMake(); // run automake on project opening }