From b424d2e62ddd4ee644a8de8a201e3fccc3e894fe Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Thu, 21 Mar 2019 16:40:27 +0300 Subject: [PATCH] Simplify UndoRedoAction code (after IDEA-207347) --- .../src/com/intellij/ide/actions/UndoRedoAction.java | 7 ++----- .../intellij/openapi/editor/impl/EditorComponentImpl.java | 2 ++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/actions/UndoRedoAction.java b/platform/platform-impl/src/com/intellij/ide/actions/UndoRedoAction.java index bafb386bb324..65a1a0c66cab 100644 --- a/platform/platform-impl/src/com/intellij/ide/actions/UndoRedoAction.java +++ b/platform/platform-impl/src/com/intellij/ide/actions/UndoRedoAction.java @@ -7,7 +7,6 @@ import com.intellij.openapi.command.undo.DocumentReference; import com.intellij.openapi.command.undo.UndoManager; import com.intellij.openapi.command.undo.UndoableAction; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.editor.Editor; import com.intellij.openapi.fileEditor.FileEditor; import com.intellij.openapi.fileEditor.TextEditor; import com.intellij.openapi.project.DumbAwareAction; @@ -68,9 +67,7 @@ public abstract class UndoRedoAction extends DumbAwareAction { private UndoManager getUndoManager(FileEditor editor, DataContext dataContext) { Component component = PlatformDataKeys.CONTEXT_COMPONENT.getData(dataContext); - Editor e = dataContext.getData(CommonDataKeys.EDITOR); - if (component instanceof JTextComponent && - (e == null || component != e.getContentComponent() && !UIUtil.isClientPropertyTrue(component, IGNORE_SWING_UNDO_MANAGER))) { + if (component instanceof JTextComponent && !UIUtil.isClientPropertyTrue(component, IGNORE_SWING_UNDO_MANAGER)) { return SwingUndoManagerWrapper.fromContext(dataContext); } JRootPane rootPane = null; @@ -85,7 +82,7 @@ public abstract class UndoRedoAction extends DumbAwareAction { } } if (myActionInProgress) { - LOG.error("Recursive undo invocation attempt, component: " + component + ", fileEditor: " + editor + ", editor: " + e + + LOG.error("Recursive undo invocation attempt, component: " + component + ", fileEditor: " + editor + ", rootPane: " + rootPane + ", popup: " + popup); return null; } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorComponentImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorComponentImpl.java index 6df4f68b9b11..f3d132378cf0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorComponentImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorComponentImpl.java @@ -5,6 +5,7 @@ import com.intellij.ide.CutProvider; import com.intellij.ide.DataManager; import com.intellij.ide.IdeEventQueue; import com.intellij.ide.PasteProvider; +import com.intellij.ide.actions.UndoRedoAction; import com.intellij.ide.ui.UISettings; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.CommonDataKeys; @@ -96,6 +97,7 @@ public class EditorComponentImpl extends JTextComponent implements Scrollable, D return myEditor.visualPositionToXY(magnificationPosition); } }); + putClientProperty(UndoRedoAction.IGNORE_SWING_UNDO_MANAGER, Boolean.TRUE); myApplication = (ApplicationImpl)ApplicationManager.getApplication(); // This editor extends JTextComponent rather than JComponent *only* for accessibility