forked from qt-creator/qt-creator
Debugger: Dumper fix for Qt 4
QMap, QStringRef Change-Id: I67fab7f78cf7718e37a9cd77af6fc9c6a9751c66 Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -25,13 +25,11 @@ def qByteArrayData(d, value):
|
|||||||
alloc = int(private['alloc'])
|
alloc = int(private['alloc'])
|
||||||
try:
|
try:
|
||||||
# Qt 5. Will fail on Qt 4 due to the missing 'offset' member.
|
# Qt 5. Will fail on Qt 4 due to the missing 'offset' member.
|
||||||
offset = int(private['offset'])
|
addr = d.addressOf(private) + int(private['offset'])
|
||||||
addr = d.addressOf(private) + offset
|
|
||||||
data = createPointerValue(value, addr, d.charType())
|
|
||||||
return data, size, alloc
|
|
||||||
except:
|
except:
|
||||||
# Qt 4:
|
# Qt 4:
|
||||||
return private['data'], size, alloc
|
addr = private['data']
|
||||||
|
return createPointerValue(value, addr, d.charType()), size, alloc
|
||||||
|
|
||||||
qStringData = qByteArrayData
|
qStringData = qByteArrayData
|
||||||
|
|
||||||
@@ -830,7 +828,8 @@ def qdumpHelper__Qt4_QMap(d, value, forceLong):
|
|||||||
# its size is most likely the offset of the 'forward' member therein.
|
# its size is most likely the offset of the 'forward' member therein.
|
||||||
# Or possibly 2 * sizeof(void *)
|
# Or possibly 2 * sizeof(void *)
|
||||||
nodeType = d.lookupType(d.ns + "QMapNode<%s, %s>" % (keyType, valueType))
|
nodeType = d.lookupType(d.ns + "QMapNode<%s, %s>" % (keyType, valueType))
|
||||||
payloadSize = nodeType.sizeof - 2 * d.voidPtrSize
|
nodePointerType = nodeType.pointer()
|
||||||
|
payloadSize = nodeType.sizeof - 2 * nodePointerType.sizeof
|
||||||
|
|
||||||
if isCompact:
|
if isCompact:
|
||||||
innerType = valueType
|
innerType = valueType
|
||||||
@@ -839,9 +838,8 @@ def qdumpHelper__Qt4_QMap(d, value, forceLong):
|
|||||||
|
|
||||||
with Children(d, n, childType=innerType):
|
with Children(d, n, childType=innerType):
|
||||||
for i in xrange(n):
|
for i in xrange(n):
|
||||||
itd = it.dereference()
|
base = it.cast(d.charPtrType()) - payloadSize
|
||||||
base = it.cast(d.charPtr()) - payloadSize
|
node = base.cast(nodePointerType).dereference()
|
||||||
node = base.cast(nodeType.pointer()).dereference()
|
|
||||||
with SubItem(d, i):
|
with SubItem(d, i):
|
||||||
d.putField("iname", d.currentIName)
|
d.putField("iname", d.currentIName)
|
||||||
if isCompact:
|
if isCompact:
|
||||||
|
Reference in New Issue
Block a user