summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPouleyKetchoupp <pouleyketchoup@gmail.com>2021-10-05 14:49:50 -0700
committerPouleyKetchoupp <pouleyketchoup@gmail.com>2021-10-05 14:49:50 -0700
commit2f6cf3b8a8e81fe2cde0df026a66f46d4b498c51 (patch)
treee9e68a9fd2bc1a0adae11a613e89e4608c0b9ecf
parent198b49d8b589e88a5ae61fc8418ebf8890d2d1f7 (diff)
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.
-rw-r--r--scene/resources/packed_scene.cpp2
1 files changed, 1 insertions, 1 deletions
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;
}