From 4ec4b5a60d78cf3d1ab21f5bbf27663e25293181 Mon Sep 17 00:00:00 2001 From: lawnjelly Date: Tue, 1 Mar 2022 09:44:40 +0000 Subject: [PATCH] Portals - fix duplication of instanced scenes during conversion During room conversion, if a prefixed Spatial is converted to a Room / RoomGroup etc, when using instanced scenes the owner was incorrectly set, resulting in the instanced scene objects being duplicated. This PR corrects this. --- scene/3d/room_manager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scene/3d/room_manager.cpp b/scene/3d/room_manager.cpp index 4009905dc5a2..0d54ab98554c 100644 --- a/scene/3d/room_manager.cpp +++ b/scene/3d/room_manager.cpp @@ -2073,9 +2073,10 @@ void RoomManager::_flip_portals_recursive(Spatial *p_node) { } void RoomManager::_set_owner_recursive(Node *p_node, Node *p_owner) { - if (p_node != p_owner) { + if (!p_node->get_owner() && (p_node != p_owner)) { p_node->set_owner(p_owner); } + for (int n = 0; n < p_node->get_child_count(); n++) { _set_owner_recursive(p_node->get_child(n), p_owner); }