diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ModuleDefaultVcsRootPolicy.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ModuleDefaultVcsRootPolicy.java index 548f34f00dce..b67a3bda65d6 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ModuleDefaultVcsRootPolicy.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ModuleDefaultVcsRootPolicy.java @@ -17,7 +17,6 @@ package com.intellij.openapi.vcs.impl; import com.intellij.openapi.application.ReadAction; -import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; @@ -116,8 +115,7 @@ public class ModuleDefaultVcsRootPolicy extends DefaultVcsRootPolicy { @Override @Nullable public VirtualFile getVcsRootFor(@NotNull VirtualFile file) { - FileIndexFacade indexFacade = ServiceManager.getService(myProject, FileIndexFacade.class); - if (myBaseDir != null && indexFacade.isValidAncestor(myBaseDir, file)) { + if (myBaseDir != null && ReadAction.compute(() -> FileIndexFacade.getInstance(myProject).isValidAncestor(myBaseDir, file))) { LOG.debug("File " + file + " is under project base dir " + myBaseDir); return myBaseDir; } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java index 6d6ae2ea09d3..0d46f94e8b76 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/ProjectLevelVcsManagerImpl.java @@ -325,12 +325,10 @@ public class ProjectLevelVcsManagerImpl extends ProjectLevelVcsManagerEx impleme @Override public VcsRoot getVcsRootObjectFor(@Nullable FilePath file) { - return ReadAction.compute(() -> { - if (file == null || myProject.isDisposed()) return null; + if (file == null) return null; - VirtualFile vFile = ChangesUtil.findValidParentAccurately(file); - return vFile != null ? getVcsRootObjectFor(vFile) : null; - }); + VirtualFile vFile = ChangesUtil.findValidParentAccurately(file); + return vFile != null ? getVcsRootObjectFor(vFile) : null; } public void unregisterVcs(@NotNull AbstractVcs vcs) {