diff options
-rw-r--r-- | scene/main/node.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 094c3f0c94..a9fff264e4 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -1439,12 +1439,12 @@ void Node::remove_child(Node *p_child) { bool success = data.children.erase(p_child->data.name); ERR_FAIL_COND_MSG(!success, "Children name does not match parent name in hashtable, this is a bug."); - notification(NOTIFICATION_CHILD_ORDER_CHANGED); - emit_signal(SNAME("child_order_changed")); - p_child->data.parent = nullptr; p_child->data.index = -1; + notification(NOTIFICATION_CHILD_ORDER_CHANGED); + emit_signal(SNAME("child_order_changed")); + if (data.inside_tree) { p_child->_propagate_after_exit_tree(); } |