IDEABKL-6460 lst: do not save file if auto-save disabled

This commit is contained in:
Aleksey Pivovarov
2017-05-10 15:57:12 +03:00
parent 3b69b062b1
commit 122a06b3ac
@@ -16,6 +16,7 @@
package com.intellij.openapi.vcs.ex;
import com.intellij.diff.util.DiffUtil;
import com.intellij.ide.GeneralSettings;
import com.intellij.openapi.application.TransactionGuard;
import com.intellij.openapi.editor.Document;
import com.intellij.openapi.editor.Editor;
@@ -173,15 +174,17 @@ public class LineStatusTracker extends LineStatusTrackerBase {
@Override
@CalledInAwt
protected void fireFileUnchanged() {
// later to avoid saving inside document change event processing.
TransactionGuard.getInstance().submitTransactionLater(getProject(), () -> {
FileDocumentManager.getInstance().saveDocument(myDocument);
List<Range> ranges = getRanges();
if (ranges == null || ranges.isEmpty()) {
// file was modified, and now it's not -> dirty local change
myVcsDirtyScopeManager.fileDirty(myVirtualFile);
}
});
if (GeneralSettings.getInstance().isSaveOnFrameDeactivation()) {
// later to avoid saving inside document change event processing.
TransactionGuard.getInstance().submitTransactionLater(getProject(), () -> {
FileDocumentManager.getInstance().saveDocument(myDocument);
List<Range> ranges = getRanges();
if (ranges == null || ranges.isEmpty()) {
// file was modified, and now it's not -> dirty local change
myVcsDirtyScopeManager.fileDirty(myVirtualFile);
}
});
}
}
@Override