DarkRadiant: undosystem 0e6762ba

Author Committer Branch Timestamp Parent
greebo greebo undosystem 25.10.2021 18:18 undosystem dc44cc06
Affected Issues  0005408: All scene graphs connect to the same undo system, causing interference
Changeset 0005408: The MapResource class no longer calls the internal GlobalMap() singleton to notify about status changes - it could be any map root node firing the change signal, not just the one loaded as primary map. The MapResource now offers a "modified status changed" signal which is subscribed by the main Map class owning it. As another refactoring step, the UndoFileChangeTracker is no longer using a single callback functor, since this can easily overridden if two MapResources are sharing the same root node (which is a valid use case during renaming).
mod - include/imapresource.h Diff File
mod - include/mapfile.h Diff File
mod - libs/UndoFileChangeTracker.h Diff File
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/Map.h Diff File
mod - radiantcore/map/MapResource.cpp Diff File
mod - radiantcore/map/MapResource.h Diff File
mod - test/UndoRedo.cpp Diff File