debugger: fix dumpers for QSharedPointer and QWeakPointer for the isNull() case

(cherry picked from commit e195159f16)
This commit is contained in:
hjk
2009-08-26 16:49:05 +02:00
committed by con
parent fde1783b47
commit 91c9e66731

View File

@@ -2612,6 +2612,14 @@ static void qDumpQSharedPointer(QDumper &d)
const QSharedPointer<int> &ptr =
*reinterpret_cast<const QSharedPointer<int> *>(d.data);
if (ptr.isNull()) {
d.putItem("value", "<null>");
d.putItem("valuedisabled", "true");
d.putItem("numchild", 0);
d.disarm();
return;
}
if (isSimpleType(d.innertype))
qDumpInnerValueHelper(d, d.innertype, ptr.data());
else
@@ -2768,6 +2776,15 @@ static void qDumpQWeakPointer(QDumper &d)
{
const int v = sizeof(void *);
const void *value = deref(addOffset(d.data, v));
const void *data = deref(d.data);
if (value == 0 || data == 0) {
d.putItem("value", "<null>");
d.putItem("valuedisabled", "true");
d.putItem("numchild", 0);
d.disarm();
return;
}
if (isSimpleType(d.innertype))
qDumpInnerValueHelper(d, d.innertype, value);