forked from qt-creator/qt-creator
Debugger: Use more robust way to construct Qt4's QMapNode type
LLDB requires "proper" spacing when matching types. Change-Id: I51376557e445f04023a2b7e1ee2fe4e584382b8c Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -898,9 +898,13 @@ def qdumpHelper__Qt4_QMap(d, value, forceLong):
|
||||
# QMapPayloadNode is QMapNode except for the 'forward' member, so
|
||||
# its size is most likely the offset of the 'forward' member therein.
|
||||
# Or possibly 2 * sizeof(void *)
|
||||
nodeType = d.lookupType(d.qtNamespace() + "QMapNode<%s,%s>" % (keyType, valueType))
|
||||
# Note: Keeping the spacing in the type lookup
|
||||
# below is important for LLDB.
|
||||
needle = str(value.type).replace("QMap", "QMapNode", 1)
|
||||
nodeType = d.lookupType(needle)
|
||||
nodePointerType = nodeType.pointer()
|
||||
if d.isArmArchitecture() and d.isQnxTarget() and str(valueType) == 'QVariant': # symbols reports payload size at wrong size 24
|
||||
# symbols reports payload size at wrong size 24
|
||||
if d.isArmArchitecture() and d.isQnxTarget() and str(valueType) == 'QVariant':
|
||||
payloadSize = 28
|
||||
else:
|
||||
payloadSize = nodeType.sizeof - 2 * nodePointerType.sizeof
|
||||
|
||||
Reference in New Issue
Block a user