Wenn wir die Welt speichern setzen wir UnsavedChanges auf false, da ja per Definition keine Änderungen mehr ungespeichert sind. Wenn wir dann ein Command undoen welches UnsavedChanges gesetzt hatte und vor der Ausführung des ursprünglichen Commands UnsavedChanges false war, dann wird UnsavedChanges auf false gesetzt, was ja inkorrekt ist, da wir eine Änderung rückgängig gemacht haben, welche gespeichert wurde und zuvor UnsavedChanges auf true gesetzt hat. Per Definition haben wir nun also wieder UnsavedChanges
Schritte zum Reproduzieren:
Welt laden, UnsavedChanges false
Welt ändern, UnsavedChanges true
Speichern, UnsavedChanges false
Undo, UnsavedChanges false obwohl sie true sein sollten
Erwartetes Verhalten:
(Erwartetes Verhalten nach eigenem Verständnis)
Tatsächliches Verhalten:
UnsavedChanges wird blind aus Memento wiederhergestellt, egal ob wirklich ungespeicherte Änderungen bestehen oder nicht
Ansprechpartner:
(für weitere Fragen)
Ursache (erst bei Fix angeben):
(wird durch Team AMG ausgefüllt)
Lösung (erst bei Fix angeben):
(eventuell Kopie von Welt beim Speichern erstellen und damit abgleichen via IEquatable?)
Beschreibung des Problems:
Wenn wir die Welt speichern setzen wir UnsavedChanges auf false, da ja per Definition keine Änderungen mehr ungespeichert sind. Wenn wir dann ein Command undoen welches UnsavedChanges gesetzt hatte und vor der Ausführung des ursprünglichen Commands UnsavedChanges false war, dann wird UnsavedChanges auf false gesetzt, was ja inkorrekt ist, da wir eine Änderung rückgängig gemacht haben, welche gespeichert wurde und zuvor UnsavedChanges auf true gesetzt hat. Per Definition haben wir nun also wieder UnsavedChanges
Schritte zum Reproduzieren:
Erwartetes Verhalten:
(Erwartetes Verhalten nach eigenem Verständnis)
Tatsächliches Verhalten:
UnsavedChanges wird blind aus Memento wiederhergestellt, egal ob wirklich ungespeicherte Änderungen bestehen oder nicht
Ansprechpartner:
(für weitere Fragen)
Ursache (erst bei Fix angeben):
(wird durch Team AMG ausgefüllt)
Lösung (erst bei Fix angeben):
(eventuell Kopie von Welt beim Speichern erstellen und damit abgleichen via IEquatable?)
Commit, in dem das Problem gefixed wurde:
(wird durch Team AMG ausgefüllt)