IDEA-64883 Don't save document if it is null.

This commit is contained in:
Kirill Likhodedov
2011-04-08 17:29:01 +04:00
parent bf555ca08b
commit fd6f8c6eaa
3 changed files with 7 additions and 1 deletions
@@ -27,6 +27,7 @@ public abstract class FileDocumentManager {
return ApplicationManager.getApplication().getComponent(FileDocumentManager.class);
}
@Nullable
public abstract Document getDocument(@NotNull VirtualFile file);
@Nullable
@@ -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) {
@@ -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);