diff --git a/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp b/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp index bac220bd56..259006f631 100644 --- a/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp +++ b/src/apps/debugger/value/value_nodes/BMessageValueNode.cpp @@ -93,7 +93,6 @@ BMessageValueNode::BMessageValueNode(ValueNodeChild* nodeChild, : ValueNode(nodeChild), fType(type), - fValid(false), fMessage() { fType->AcquireReference(); @@ -291,9 +290,6 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader, if (error != B_OK) return error; - fValid = true; - CreateChildren(); - return B_OK; } @@ -301,11 +297,6 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader, status_t BMessageValueNode::CreateChildren() { - // delay child creation until our location / value has been resolved - // since we otherwise have no idea as to what value nodes to present - if (!fValid) - return B_BAD_VALUE; - if (!fChildren.IsEmpty()) return B_OK; diff --git a/src/apps/debugger/value/value_nodes/BMessageValueNode.h b/src/apps/debugger/value/value_nodes/BMessageValueNode.h index 79ba46e7ac..c648bb2e2e 100644 --- a/src/apps/debugger/value/value_nodes/BMessageValueNode.h +++ b/src/apps/debugger/value/value_nodes/BMessageValueNode.h @@ -24,6 +24,8 @@ public: ValueLocation*& _location, Value*& _value); + virtual bool ChildCreationNeedsValue() const + { return true; } virtual status_t CreateChildren(); virtual int32 CountChildren() const; virtual ValueNodeChild* ChildAt(int32 index) const; @@ -40,7 +42,6 @@ private: private: Type* fType; - bool fValid; BMessage fMessage; ChildNodeList fChildren; };