From 00d4a30b05f71e073b99e0a4e904263e29ea7631 Mon Sep 17 00:00:00 2001 From: PouleyKetchoupp Date: Tue, 5 Oct 2021 14:49:50 -0700 Subject: [PATCH] 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. (cherry picked from commit 2f6cf3b8a8e81fe2cde0df026a66f46d4b498c51) --- 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 3402f9db0de..cf4b799bfd9 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -386,7 +386,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_a_parent_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; }