diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt index 173d439ac6f5..8760bfe8ef4a 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt @@ -349,8 +349,8 @@ class LineStatusTrackerManager( private fun canGetBaseRevisionFor(virtualFile: VirtualFile?): Boolean { if (isDisposed) return false - if (virtualFile == null || virtualFile is LightVirtualFile || !virtualFile.isValid) return false - if (virtualFile.fileType.isBinary || FileUtilRt.isTooLarge(virtualFile.length)) return false + if (virtualFile == null || virtualFile is LightVirtualFile) return false + if (runReadAction { !virtualFile.isValid || virtualFile.fileType.isBinary || FileUtilRt.isTooLarge(virtualFile.length) }) return false if (!statusProvider.isSupported(virtualFile)) return false val status = FileStatusManager.getInstance(project).getStatus(virtualFile)