Fix history mismatch
Set the properties of the resource's proxy instead of setting the resource's properties directly. (For action "Set ...") Update the path of the edited scene when saving the scene. (For action "Add atlas source")
This commit is contained in:
parent
b8ed596769
commit
28db5e7649
|
@ -1982,6 +1982,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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2156,7 +2156,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;
|
||||
|
@ -2180,7 +2180,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue