Fix regression introduced in r42324 which prevented pointers to BMessages from being
properly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42327 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -394,8 +394,17 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader,
|
|||||||
fType->ResolveRawType(false));
|
fType->ResolveRawType(false));
|
||||||
AddressType* addressType = dynamic_cast<AddressType*>(fType);
|
AddressType* addressType = dynamic_cast<AddressType*>(fType);
|
||||||
if (addressType != NULL) {
|
if (addressType != NULL) {
|
||||||
|
BVariant address;
|
||||||
baseType = dynamic_cast<CompoundType*>(addressType->BaseType()
|
baseType = dynamic_cast<CompoundType*>(addressType->BaseType()
|
||||||
->ResolveRawType(false));
|
->ResolveRawType(false));
|
||||||
|
error = valueLoader->LoadValue(location, valueType, false,
|
||||||
|
address);
|
||||||
|
if (error != B_OK)
|
||||||
|
return error;
|
||||||
|
|
||||||
|
ValuePieceLocation pieceLocation;
|
||||||
|
pieceLocation.SetToMemory(address.ToUInt64());
|
||||||
|
location->SetPieceAt(0, pieceLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
_location = location;
|
_location = location;
|
||||||
@@ -529,6 +538,7 @@ BMessageValueNode::ResolvedLocationAndValue(ValueLoader* valueLoader,
|
|||||||
|
|
||||||
error = fMessage.Unflatten((const char *)messageBuffer);
|
error = fMessage.Unflatten((const char *)messageBuffer);
|
||||||
TRACE_LOCALS("BMessage: Unflatten result: %s\n", strerror(error));
|
TRACE_LOCALS("BMessage: Unflatten result: %s\n", strerror(error));
|
||||||
|
|
||||||
if (error != B_OK)
|
if (error != B_OK)
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user