diff options
author | PouleyKetchoupp <pouleyketchoup@gmail.com> | 2021-10-05 14:49:50 -0700 |
---|---|---|
committer | PouleyKetchoupp <pouleyketchoup@gmail.com> | 2021-10-05 14:49:50 -0700 |
commit | 2f6cf3b8a8e81fe2cde0df026a66f46d4b498c51 (patch) | |
tree | e9e68a9fd2bc1a0adae11a613e89e4608c0b9ecf | |
parent | 198b49d8b589e88a5ae61fc8418ebf8890d2d1f7 (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.cpp | 2 |
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; } |