diff --git a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp index bba9d0566f..4093506812 100644 --- a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp +++ b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp @@ -1033,12 +1033,13 @@ VariablesView::VariableTableModel::ValueNodeChildrenDeleted(ValueNode* node) // in the case of an address node with a hidden child, // we want to send removal notifications for the children // instead. + BReference hiddenChild; if (modelNode->CountChildren() == 1 && modelNode->ChildAt(0)->IsHidden()) { - ModelNode* tempNode = modelNode->ChildAt(0); - modelNode->RemoveChild(tempNode); - modelNode = tempNode; - fNodeTable.Remove(tempNode); + hiddenChild.SetTo(modelNode->ChildAt(0), true); + modelNode->RemoveChild(hiddenChild); + modelNode = hiddenChild; + fNodeTable.Remove(hiddenChild); } for (int32 i = 0; i < modelNode->CountChildren(); i++) {