diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index ada4687b738..5b0c9084b51 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -436,6 +436,10 @@ void TreeItem::remove_child(TreeItem *p_item) { c = &(*c)->next; } + if (tree) { + tree->update(); + } + ERR_FAIL(); } @@ -844,7 +848,9 @@ TreeItem::~TreeItem() { clear_children(); if (parent) { - parent->remove_child(this); + parent->remove_child(this); // Also updates the Tree. + } else if (tree) { + tree->update(); } if (tree && tree->root == this) {