From fd6f8c6eaac5e379c98424dd3648a7046a9cd7ef Mon Sep 17 00:00:00 2001 From: Kirill Likhodedov Date: Fri, 8 Apr 2011 17:27:51 +0400 Subject: [PATCH] IDEA-64883 Don't save document if it is null. --- .../intellij/openapi/fileEditor/FileDocumentManager.java | 1 + .../openapi/fileEditor/impl/FileDocumentManagerImpl.java | 1 + .../openapi/vcs/actions/AbstractShowDiffAction.java | 6 +++++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java index f0181c23c35a..243ad6dd4cfd 100644 --- a/platform/platform-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java +++ b/platform/platform-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java @@ -27,6 +27,7 @@ public abstract class FileDocumentManager { return ApplicationManager.getApplication().getComponent(FileDocumentManager.class); } + @Nullable public abstract Document getDocument(@NotNull VirtualFile file); @Nullable diff --git a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java index e4dae40553d6..294f15809460 100644 --- a/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/fileEditor/impl/FileDocumentManagerImpl.java @@ -107,6 +107,7 @@ public class FileDocumentManagerImpl extends FileDocumentManager implements Appl public void disposeComponent() { } + @Nullable public Document getDocument(@NotNull final VirtualFile file) { DocumentEx document = (DocumentEx)getCachedDocument(file); if (document == null) { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AbstractShowDiffAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AbstractShowDiffAction.java index 1f1ba9523d02..392f1112fdac 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AbstractShowDiffAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AbstractShowDiffAction.java @@ -17,6 +17,7 @@ package com.intellij.openapi.vcs.actions; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.Presentation; +import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileEditor.FileDocumentManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.vcs.AbstractVcs; @@ -89,7 +90,10 @@ public abstract class AbstractShowDiffAction extends AbstractVcsAction{ final Project project = vcsContext.getProject(); final VirtualFile selectedFile = vcsContext.getSelectedFiles()[0]; final FileDocumentManager fileDocumentManager = FileDocumentManager.getInstance(); - fileDocumentManager.saveDocument(fileDocumentManager.getDocument(selectedFile)); + final Document document = fileDocumentManager.getDocument(selectedFile); + if (document != null) { + fileDocumentManager.saveDocument(document); + } final ProjectLevelVcsManager vcsManager = ProjectLevelVcsManager.getInstance(project); final AbstractVcs vcs = vcsManager.getVcsFor(selectedFile);