diff --git a/src/apps/debugger/debug_managers/ValueNodeManager.cpp b/src/apps/debugger/debug_managers/ValueNodeManager.cpp index 03399d1110..4dee7114de 100644 --- a/src/apps/debugger/debug_managers/ValueNodeManager.cpp +++ b/src/apps/debugger/debug_managers/ValueNodeManager.cpp @@ -103,11 +103,12 @@ ValueNodeManager::ValueNodeChanged(ValueNodeChild* nodeChild, AutoLocker containerLocker(fContainer); + for (int32 i = fListeners.CountItems() - 1; i >= 0; i--) + fListeners.ItemAt(i)->ValueNodeChanged(nodeChild, oldNode, newNode); + if (oldNode != NULL) newNode->CreateChildren(); - for (int32 i = fListeners.CountItems() - 1; i >= 0; i--) - fListeners.ItemAt(i)->ValueNodeChanged(nodeChild, oldNode, newNode); } 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 dfde0f0658..17e70f58a1 100644 --- a/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp +++ b/src/apps/debugger/user_interface/gui/team_window/VariablesView.cpp @@ -930,8 +930,10 @@ VariablesView::VariableTableModel::ValueNodeChanged(ValueNodeChild* nodeChild, if (modelNode == NULL) return; - if (oldNode != NULL) + if (oldNode != NULL) { + ValueNodeChildrenDeleted(oldNode); NotifyNodeChanged(modelNode); + } }