summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-07-26 18:39:32 +0200
committerYuri Sizov <yuris@humnom.net>2023-07-26 18:39:32 +0200
commitbc0e6460760f02ba227f72bccb7db2227262a73a (patch)
tree5bb408f42c645ac27b588e6066a89c5442ccdd0d
parent7c204874eb079fbd401a13e6222878425b7287bf (diff)
parent28db5e76495bab5f0cb3fa4a4b7d4769d25c9962 (diff)
downloadredot-engine-bc0e6460760f02ba227f72bccb7db2227262a73a.tar.gz
Merge pull request #78827 from Rindbee/fix-history-mismatch
Fix history mismatch
-rw-r--r--editor/editor_node.cpp3
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.cpp4
2 files changed, 5 insertions, 2 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index d57d7a45a7..afc225378c 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -1984,6 +1984,9 @@ void EditorNode::_dialog_action(String p_file) {
if (scene_idx != -1) {
_discard_changes();
+ } else {
+ // Update the path of the edited scene to ensure later do/undo action history matches.
+ editor_data.set_scene_path(editor_data.get_edited_scene(), p_file);
}
}
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
index f4290ba508..e0df73596e 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
@@ -2138,7 +2138,7 @@ void TileSetAtlasSourceEditor::_undo_redo_inspector_callback(Object *p_undo_redo
Ref<TileSetAtlasSource> atlas_source = atlas_source_proxy->get_edited();
ERR_FAIL_COND(!atlas_source.is_valid());
- UndoRedo *internal_undo_redo = undo_redo_man->get_history_for_object(atlas_source.ptr()).undo_redo;
+ UndoRedo *internal_undo_redo = undo_redo_man->get_history_for_object(atlas_source_proxy).undo_redo;
internal_undo_redo->start_force_keep_in_merge_ends();
PackedVector2Array arr;
@@ -2162,7 +2162,7 @@ void TileSetAtlasSourceEditor::_undo_redo_inspector_callback(Object *p_undo_redo
String prefix = vformat("%d:%d/", coords.x, coords.y);
for (PropertyInfo pi : properties) {
if (pi.name.begins_with(prefix)) {
- ADD_UNDO(atlas_source.ptr(), pi.name);
+ ADD_UNDO(atlas_source_proxy, pi.name);
}
}
}