diff options
author | Rindbee <idleman@yeah.net> | 2022-06-12 13:57:42 +0800 |
---|---|---|
committer | Rindbee <idleman@yeah.net> | 2022-06-12 13:57:42 +0800 |
commit | 472d16be4fc44061121a3181e1be4c573520ea54 (patch) | |
tree | 807d4045ac9e6a6223da72023f469f8800807398 | |
parent | 8df8fff54ba2263d53448b0a7f4e33fa76fdea50 (diff) |
Fix setting owner on internal nodes when save brach as scene
-rw-r--r-- | editor/scene_tree_dock.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 9646462ead..b67d659efe 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -2418,8 +2418,8 @@ void SceneTreeDock::_new_scene_from(String p_file) { Node *copy = base->duplicate_from_editor(duplimap); if (copy) { - for (int i = 0; i < copy->get_child_count(); i++) { - _set_node_owner_recursive(copy->get_child(i), copy); + for (int i = 0; i < copy->get_child_count(false); i++) { + _set_node_owner_recursive(copy->get_child(i, false), copy); } Ref<PackedScene> sdata = memnew(PackedScene); @@ -2456,8 +2456,8 @@ void SceneTreeDock::_set_node_owner_recursive(Node *p_node, Node *p_owner) { p_node->set_owner(p_owner); } - for (int i = 0; i < p_node->get_child_count(); i++) { - _set_node_owner_recursive(p_node->get_child(i), p_owner); + for (int i = 0; i < p_node->get_child_count(false); i++) { + _set_node_owner_recursive(p_node->get_child(i, false), p_owner); } } |