diff --git a/platform/vcs-impl/src/com/intellij/platform/PlatformVcsDetector.java b/platform/vcs-impl/src/com/intellij/platform/PlatformVcsDetector.java index 9a27b64efc8d..82604dd6c195 100644 --- a/platform/vcs-impl/src/com/intellij/platform/PlatformVcsDetector.java +++ b/platform/vcs-impl/src/com/intellij/platform/PlatformVcsDetector.java @@ -23,6 +23,7 @@ import com.intellij.openapi.vcs.AbstractVcs; import com.intellij.openapi.vcs.VcsDirectoryMapping; import com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl; import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.ui.AppUIUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -41,16 +42,21 @@ public class PlatformVcsDetector implements ProjectComponent { public void projectOpened() { StartupManager.getInstance(myProject).runWhenProjectIsInitialized(new DumbAwareRunnable() { public void run() { - VirtualFile file = ProjectBaseDirectory.getInstance(myProject).getBaseDir(myProject.getBaseDir()); - if (myVcsManager.needAutodetectMappings()) { - AbstractVcs vcs = myVcsManager.findVersioningVcs(file); - if (vcs != null && vcs != myVcsManager.getVcsFor(file)) { - myVcsManager.removeDirectoryMapping(new VcsDirectoryMapping("", "")); - myVcsManager.setAutoDirectoryMapping(file.getPath(), vcs.getName()); - myVcsManager.cleanupMappings(); - myVcsManager.updateActiveVcss(); + AppUIUtil.invokeLaterIfProjectAlive(myProject, new DumbAwareRunnable() { + @Override + public void run() { + VirtualFile file = ProjectBaseDirectory.getInstance(myProject).getBaseDir(myProject.getBaseDir()); + if (myVcsManager.needAutodetectMappings()) { + AbstractVcs vcs = myVcsManager.findVersioningVcs(file); + if (vcs != null && vcs != myVcsManager.getVcsFor(file)) { + myVcsManager.removeDirectoryMapping(new VcsDirectoryMapping("", "")); + myVcsManager.setAutoDirectoryMapping(file.getPath(), vcs.getName()); + myVcsManager.cleanupMappings(); + myVcsManager.updateActiveVcss(); + } + } } - } + }); } }); }