Skip to content

Commit d95c73a

Browse files
author
Steffen Wilke
committed
Fix issue with save state of a map not being tracked.
1 parent 126abda commit d95c73a

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

utiliti/src/de/gurkenlabs/utiliti/UndoManager.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,9 @@ public static UndoManager instance() {
5353
return instance.get(Game.world().environment().getMap().getName());
5454
}
5555

56-
UndoManager newUndoManager = new UndoManager(Game.world().environment().getMap().getName());
57-
instance.put(Game.world().environment().getMap().getName(), newUndoManager);
56+
final String mapName = Game.world().environment().getMap().getName();
57+
UndoManager newUndoManager = new UndoManager(mapName);
58+
instance.put(mapName, newUndoManager);
5859
return newUndoManager;
5960
}
6061

@@ -269,6 +270,7 @@ public static boolean hasChanges(IMap map) {
269270
public static void save(IMap map) {
270271
if (instance.containsKey(map.getName())) {
271272
instance.get(map.getName()).saved = true;
273+
UI.getMapController().refresh();
272274
}
273275
}
274276

utiliti/src/de/gurkenlabs/utiliti/components/Editor.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -647,18 +647,19 @@ private String saveGameFile(String target) {
647647
new Object[] { this.getGameFile().getMaps().size(), this.getGameFile().getSpriteSheets().size(), this.getGameFile().getTilesets().size(), this.getGameFile().getEmitters().size(), this.getGameFile().getBluePrints().size(), this.getGameFile().getSounds().size(), this.currentResourceFile });
648648
this.setCurrentStatus(Resources.strings().get("status_gamefile_saved"));
649649

650-
if (preferences().syncMaps()) {
651-
this.saveMaps();
652-
}
650+
this.saveMaps();
653651
return saveFile;
654652
}
655653

656654
private void saveMaps() {
657655
for (TmxMap map : this.getChangedMaps()) {
658656
UndoManager.save(map);
659-
for (String file : FileUtilities.findFilesByExtension(new ArrayList<>(), Paths.get(FileUtilities.combine(this.getProjectPath(), "maps")), map.getName() + "." + TmxMap.FILE_EXTENSION)) {
660-
File newFile = XmlUtilities.save(map, file, TmxMap.FILE_EXTENSION);
661-
log.log(Level.INFO, "synchronized map {0}", new Object[] { newFile });
657+
658+
if (preferences().syncMaps()) {
659+
for (String file : FileUtilities.findFilesByExtension(new ArrayList<>(), Paths.get(FileUtilities.combine(this.getProjectPath(), "maps")), map.getName() + "." + TmxMap.FILE_EXTENSION)) {
660+
File newFile = XmlUtilities.save(map, file, TmxMap.FILE_EXTENSION);
661+
log.log(Level.INFO, "synchronized map {0}", new Object[] { newFile });
662+
}
662663
}
663664
}
664665
}

utiliti/src/de/gurkenlabs/utiliti/swing/controllers/MapList.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ public TmxMap getCurrentMap() {
112112
@Override
113113
public void refresh() {
114114
this.list.revalidate();
115+
this.list.repaint();
116+
115117
UI.getEntityController().refresh();
116118
UI.getLayerController().refresh();
117119
}

0 commit comments

Comments
 (0)