Skip to content

Commit

Permalink
Fix #9294.
Browse files Browse the repository at this point in the history
- Fix incorrect order of operations in ValueNodeManager.
- Upon receiving a changed notification, VariableTableModel needs to
  make tree table aware that the previous nodes have been removed.
  • Loading branch information
anevilyak committed Dec 17, 2012
1 parent 287cda6 commit a4df762
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
5 changes: 3 additions & 2 deletions src/apps/debugger/debug_managers/ValueNodeManager.cpp
Expand Up @@ -103,11 +103,12 @@ ValueNodeManager::ValueNodeChanged(ValueNodeChild* nodeChild,

AutoLocker<ValueNodeContainer> 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);
}


Expand Down
Expand Up @@ -930,8 +930,10 @@ VariablesView::VariableTableModel::ValueNodeChanged(ValueNodeChild* nodeChild,
if (modelNode == NULL)
return;

if (oldNode != NULL)
if (oldNode != NULL) {
ValueNodeChildrenDeleted(oldNode);
NotifyNodeChanged(modelNode);
}
}


Expand Down

0 comments on commit a4df762

Please sign in to comment.