diff --git a/platform/platform-impl/src/com/intellij/openapi/command/impl/CommandMerger.java b/platform/platform-impl/src/com/intellij/openapi/command/impl/CommandMerger.java index 20a9f76f8891..7aaaacd6b6c7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/command/impl/CommandMerger.java +++ b/platform/platform-impl/src/com/intellij/openapi/command/impl/CommandMerger.java @@ -180,7 +180,7 @@ public class CommandMerger { myForcedGlobal = true; } - private boolean isTransparent() { + public boolean isTransparent() { return myTransparent; } diff --git a/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java index 60dc5b2e20e7..f753b1fc3996 100644 --- a/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/command/impl/UndoManagerImpl.java @@ -256,7 +256,7 @@ public class UndoManagerImpl extends UndoManager implements ProjectComponent, Ap myCommandLevel--; if (myCommandLevel > 0) return; - if (myProject != null && myCurrentMerger.hasActions() && !myCurrentMerger.isGlobal()) { + if (myProject != null && !myCurrentMerger.isGlobal() && myCurrentMerger.hasActions() && !myCurrentMerger.isTransparent()) { addFocusedDocumentAsAffected(); } @@ -270,6 +270,7 @@ public class UndoManagerImpl extends UndoManager implements ProjectComponent, Ap PsiFile psiFile = LangDataKeys.PSI_FILE.getData(DataManager.getInstance().getDataContext()); if (psiFile == null) return; + VirtualFile file = psiFile.getVirtualFile(); if (file == null) return;