fix node duplication in update after external changes.

This commit is contained in:
ajreckof 2024-03-28 20:26:44 +01:00
parent 7d151c8381
commit ae472865d0
7 changed files with 95 additions and 45 deletions

View file

@ -722,15 +722,8 @@ bool EditorData::check_and_update_scene(int p_idx) {
new_scene->set_scene_file_path(edited_scene[p_idx].root->get_scene_file_path());
Node *old_root = edited_scene[p_idx].root;
for (int i = 0; i < old_root->get_child_count(); i++) {
memdelete(old_root->get_child(i));
}
old_root->replace_by(new_scene);
old_root->replace_by(new_scene, false, false);
memdelete(old_root);
edited_scene.write[p_idx].root = new_scene;
if (!new_scene->get_scene_file_path().is_empty()) {
edited_scene.write[p_idx].path = new_scene->get_scene_file_path();
}
edited_scene.write[p_idx].selection = new_selection;
return true;