From 989b47aba54e9ec3572cd0b03b17b3c2d600534d Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 21 Aug 2019 21:13:12 +0200 Subject: [PATCH] closes #312 --- .../digital/gui/components/CircuitComponent.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index 2bc562421..91b656a9d 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -460,11 +460,15 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib * undo last action */ private void undo() { - if (!isLocked() && undoManager.undoAvailable()) { - try { - undoManager.undo(); - } catch (ModifyException e) { - throw new RuntimeException("internal error in undo", e); + if (activeMouseController != mouseNormal) + activeMouseController.escapePressed(); + else { + if (!isLocked() && undoManager.undoAvailable()) { + try { + undoManager.undo(); + } catch (ModifyException e) { + throw new RuntimeException("internal error in undo", e); + } } } } @@ -481,6 +485,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib */ private void redo() { if (!isLocked() && undoManager.redoAvailable()) { + activeMouseController.escapePressed(); try { undoManager.redo(); } catch (ModifyException e) {