Merge pull request #78019 from Sauermann/fix-remove-child-inconsistency

Fix parent inconsistency in `Node::remove_child`
This commit is contained in:
Rémi Verschelde 2023-06-09 11:06:49 +02:00
commit fd2f33942b
No known key found for this signature in database
GPG Key ID: C3336907360768E1

View File

@ -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();
}