fixed a bug: undo sets the correct modified state if all modifications are undone.

This commit is contained in:
hneemann 2017-06-02 08:36:49 +02:00
parent dd4a4eb2a9
commit cf93a019ae
3 changed files with 6 additions and 3 deletions

View File

@ -661,7 +661,10 @@ public class Circuit {
listeners.remove(listener);
}
private void fireChangedEvent() {
/**
* notifies listeners about circuit changes
*/
public void fireChangedEvent() {
if (listeners != null)
for (ChangedListener l : listeners)
l.circuitHasChanged();

View File

@ -1114,7 +1114,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
@Override
public void circuitHasChanged() {
ensureModelIsStopped();
if (!modifiedPrefixVisible)
if (modifiedPrefixVisible != circuitComponent.getCircuit().isModified())
setFilename(filename, false);
}

View File

@ -381,7 +381,7 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
redoAction.setEnabled(true);
if (undoPosition == 0)
undoAction.setEnabled(false);
circuit.modified();
circuit.fireChangedEvent();
repaintNeeded();
}
}