From fd651d785afc30be2efb9297c680230fda761406 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sun, 20 Nov 2011 23:22:58 -0500 Subject: [PATCH] Fix issues with child creation in BMessage nodes. BMessageValueNode and BMessageFieldNode weren't correctly setting the children created flag. This would result in duplicates of some of the nodes showing up, especially in the case of nested messages. --- src/apps/debugger/value/value_nodes/BMessageValueNode.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp b/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp index 65582d31ef..8316d6e8dc 100644 --- a/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp +++ b/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp @@ -330,9 +330,6 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader, status_t BMessageValueNode::CreateChildren() { - if (!fChildren.IsEmpty()) - return B_OK; - DataMember* member = NULL; CompoundType* messageType = dynamic_cast(fType); for (int32 i = 0; i < messageType->CountDataMembers(); i++) { @@ -374,6 +371,8 @@ BMessageValueNode::CreateChildren() fChildren.AddItem(node); } + fChildrenCreated = true; + if (fContainer != NULL) fContainer->NotifyValueNodeChildrenCreated(this); @@ -656,6 +655,8 @@ BMessageValueNode::BMessageFieldNode::CreateChildren() fChildren.AddItem(child); } + fChildrenCreated = true; + if (fContainer != NULL) fContainer->NotifyValueNodeChildrenCreated(this);