Don't leak the hidden child if present.

This commit is contained in:
Rene Gollent
2012-11-30 20:55:54 -05:00
parent 6be1e373d5
commit f4621a90de
@@ -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<ModelNode> 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++) {