浏览代码

Merge pull request #61966 from Rindbee/fix-internal-nodes-owned

Fix setting owner on internal nodes when save branch as scene
Rémi Verschelde 3 年之前
父节点
当前提交
91b984a507
共有 1 个文件被更改,包括 4 次插入4 次删除
  1. 4 4
      editor/scene_tree_dock.cpp

+ 4 - 4
editor/scene_tree_dock.cpp

@@ -2418,8 +2418,8 @@ void SceneTreeDock::_new_scene_from(String p_file) {
 	Node *copy = base->duplicate_from_editor(duplimap);
 	Node *copy = base->duplicate_from_editor(duplimap);
 
 
 	if (copy) {
 	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);
 		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);
 		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);
 	}
 	}
 }
 }