diff --git a/platform/platform-api/src/com/intellij/openapi/diff/FileContent.java b/platform/platform-api/src/com/intellij/openapi/diff/FileContent.java index b0ac9f0a788f..d235f9931ea6 100644 --- a/platform/platform-api/src/com/intellij/openapi/diff/FileContent.java +++ b/platform/platform-api/src/com/intellij/openapi/diff/FileContent.java @@ -15,11 +15,13 @@ */ package com.intellij.openapi.diff; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.fileEditor.OpenFileDescriptor; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.project.Project; +import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; @@ -45,7 +47,12 @@ public class FileContent extends DiffContent { @Override public Document getDocument() { if (myDocument == null && DiffContentUtil.isTextFile(myFile)) { - myDocument = FileDocumentManager.getInstance().getDocument(myFile); + myDocument = ApplicationManager.getApplication().runReadAction(new Computable() { + @Override + public Document compute() { + return FileDocumentManager.getInstance().getDocument(myFile); + } + }); } return myDocument; }