diff options
| author | Yuri Sizov <yuris@humnom.net> | 2023-07-26 18:39:32 +0200 |
|---|---|---|
| committer | Yuri Sizov <yuris@humnom.net> | 2023-07-26 18:39:32 +0200 |
| commit | bc0e6460760f02ba227f72bccb7db2227262a73a (patch) | |
| tree | 5bb408f42c645ac27b588e6066a89c5442ccdd0d | |
| parent | 7c204874eb079fbd401a13e6222878425b7287bf (diff) | |
| parent | 28db5e76495bab5f0cb3fa4a4b7d4769d25c9962 (diff) | |
| download | redot-engine-bc0e6460760f02ba227f72bccb7db2227262a73a.tar.gz | |
Merge pull request #78827 from Rindbee/fix-history-mismatch
Fix history mismatch
| -rw-r--r-- | editor/editor_node.cpp | 3 | ||||
| -rw-r--r-- | editor/plugins/tiles/tile_set_atlas_source_editor.cpp | 4 |
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); } } } |
