From 2f6cf3b8a8e81fe2cde0df026a66f46d4b498c51 Mon Sep 17 00:00:00 2001 From: PouleyKetchoupp Date: Tue, 5 Oct 2021 14:49:50 -0700 Subject: Fix editable children errors when packing scene tree at runtime When packing a scene node which is not the root, errors where caused by internal checks in is_editable_instance method. This check can be safely made outside instead. --- scene/resources/packed_scene.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index c8d3ea5e37..60cda637ca 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -388,7 +388,7 @@ Error SceneState::_parse_node(Node *p_owner, Node *p_node, int p_parent_idx, Map editable_instances.push_back(p_owner->get_path_to(p_node)); // Node is the root of an editable instance. is_editable_instance = true; - } else if (p_node->get_owner() && p_node->get_owner() != p_owner && p_owner->is_editable_instance(p_node->get_owner())) { + } else if (p_node->get_owner() && p_owner->is_ancestor_of(p_node->get_owner()) && p_owner->is_editable_instance(p_node->get_owner())) { // Node is part of an editable instance. is_editable_instance = true; } -- cgit v1.2.3