From 507f47ef78aba60996709ec7277ddecb94a7b8ee Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Sat, 19 Jan 2019 23:00:15 +0300 Subject: [PATCH] lst: use read lock to access virtual file --- .../com/intellij/openapi/vcs/impl/LineStatusTrackerManager.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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)