summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-12-05 18:08:10 +0100
committerRémi Verschelde <rverschelde@gmail.com>2022-12-05 18:08:10 +0100
commit6ee3268189ee990708512888f09a77e5713b3a8d (patch)
treed2a75ba07ca1cd172985937122757e55ba6bf992 /editor
parent65cbcaeaa57e21e794aa31784293346f274b88f0 (diff)
parenta2c3b4ea921a385ab0c59ee807c1ff27bbb38238 (diff)
Merge pull request #65228 from Mickeon/fix-packed-scene-unique-name-root
Fix "Save Branch as Scene" storing root Node's `unique_name_in_owner`
Diffstat (limited to 'editor')
-rw-r--r--editor/scene_tree_dock.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index 0ebd8e610a..96688a3614 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -2453,9 +2453,12 @@ void SceneTreeDock::_new_scene_from(String p_file) {
Node *copy = base->duplicate_from_editor(duplimap);
if (copy) {
+ // Handle Unique Nodes.
for (int i = 0; i < copy->get_child_count(false); i++) {
_set_node_owner_recursive(copy->get_child(i, false), copy);
}
+ // Root node cannot ever be unique name in its own Scene!
+ copy->set_unique_name_in_owner(false);
Ref<PackedScene> sdata = memnew(PackedScene);
Error err = sdata->pack(copy);