aboutsummaryrefslogtreecommitdiff
path: root/scene
diff options
context:
space:
mode:
authorIgnacio Etcheverry2016-11-03 00:19:32 +0100
committerRémi Verschelde2016-11-15 08:28:11 +0100
commit7e3360ae017972bb04c5ed9b26dd6092f94f3524 (patch)
tree8a46cfb7408e5c8e12c8827f23391782a7b5fefc /scene
parent67f65f66391327b2967a20a89c3627e1dd6e84eb (diff)
downloadgodot-7e3360ae017972bb04c5ed9b26dd6092f94f3524.tar.gz
godot-7e3360ae017972bb04c5ed9b26dd6092f94f3524.tar.zst
godot-7e3360ae017972bb04c5ed9b26dd6092f94f3524.zip
Keep groups when replacing nodes
(cherry picked from commit 305956bf707342547baabb7d3f237ebda385f9f4)
Diffstat (limited to 'scene')
-rw-r--r--scene/main/node.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index a53c19d2e..53ecb1d78 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -1828,6 +1828,12 @@ void Node::replace_by(Node* p_node,bool p_keep_data) {
rd.name=E->get().name;
rd.value=get(rd.name);
}
+
+ List<GroupInfo> groups;
+ get_groups(&groups);
+
+ for(List<GroupInfo>::Element *E=groups.front();E;E=E->next())
+ p_node->add_to_group(E->get().name, E->get().persistent);
}
_replace_connections_target(p_node);