diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java index b792a259c1bb..15793c351689 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/IdeDocumentHistoryImpl.java @@ -298,6 +298,10 @@ public class IdeDocumentHistoryImpl extends IdeDocumentHistory implements Projec return VfsUtilCore.toVirtualFileArray(files); } + public boolean isRecentlyChanged(@NotNull VirtualFile file) { + return myRecentlyChangedFiles.CHANGED_PATHS.contains(file.getPath()); + } + @Override public final void clearHistory() { myBackPlaces.clear(); diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/NonProjectFileWritingAccessProvider.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/NonProjectFileWritingAccessProvider.java index c3270ec73d20..d6ae49596733 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/NonProjectFileWritingAccessProvider.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/NonProjectFileWritingAccessProvider.java @@ -34,7 +34,6 @@ import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.vfs.*; import com.intellij.openapi.vfs.ex.temp.TempFileSystem; import com.intellij.project.ProjectKt; -import com.intellij.util.ArrayUtil; import com.intellij.util.NullableFunction; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -121,8 +120,10 @@ public class NonProjectFileWritingAccessProvider extends WritingAccessProvider { if (!(file.getFileSystem() instanceof LocalFileSystem)) return true; // do not block e.g., HttpFileSystem, LightFileSystem etc. if (file.getFileSystem() instanceof TempFileSystem) return true; - - if (ArrayUtil.contains(file, IdeDocumentHistory.getInstance(project).getChangedFiles())) return true; + + IdeDocumentHistoryImpl documentHistory = (IdeDocumentHistoryImpl)IdeDocumentHistory.getInstance(project); + + if (documentHistory.isRecentlyChanged(file)) return true; if (!getApp().isUnitTestMode() && FileUtil.isAncestor(new File(FileUtil.getTempDirectory()), VfsUtilCore.virtualToIoFile(file), true)) {