diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2024-04-04 02:53:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-04 02:53:57 +0200 |
commit | f47f4a02c87bb701452a621d254ad30c7be84faa (patch) | |
tree | 6c3523e4f023980c7bff272ce8c5d7f9db66b75c /editor/editor_node.cpp | |
parent | 29b3d9e9e538f0aa8effc8ad8bf19a2915292a89 (diff) | |
parent | ae472865d0978e79b6e2993f76771d82daa431bf (diff) | |
download | redot-engine-f47f4a02c87bb701452a621d254ad30c7be84faa.tar.gz |
Merge pull request #89992 from ajreckof/fix-my-mistake-with-replace-in-update-scene
Fix node duplication in update after external changes.
Diffstat (limited to 'editor/editor_node.cpp')
-rw-r--r-- | editor/editor_node.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index edb6fee75c..db4d46cd18 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -3818,6 +3818,14 @@ void EditorNode::_set_current_scene_nocheck(int p_idx) { } } + if (editor_data.check_and_update_scene(p_idx)) { + if (!editor_data.get_scene_path(p_idx).is_empty()) { + editor_folding.load_scene_folding(editor_data.get_edited_scene_root(p_idx), editor_data.get_scene_path(p_idx)); + } + + EditorUndoRedoManager::get_singleton()->clear_history(false, editor_data.get_scene_history_id(p_idx)); + } + Dictionary state = editor_data.restore_edited_scene_state(editor_selection, &editor_history); _edit_current(true); @@ -3827,14 +3835,6 @@ void EditorNode::_set_current_scene_nocheck(int p_idx) { if (tabs_to_close.is_empty()) { callable_mp(this, &EditorNode::_set_main_scene_state).call_deferred(state, get_edited_scene()); // Do after everything else is done setting up. } - - if (editor_data.check_and_update_scene(p_idx)) { - if (!editor_data.get_scene_path(p_idx).is_empty()) { - editor_folding.load_scene_folding(editor_data.get_edited_scene_root(p_idx), editor_data.get_scene_path(p_idx)); - } - - EditorUndoRedoManager::get_singleton()->clear_history(false, editor_data.get_scene_history_id(p_idx)); - } } void EditorNode::setup_color_picker(ColorPicker *p_picker) { |