Commit 1e7c3abe authored by hjk's avatar hjk

Debugger: Use more robust way to construct Qt4's QMapNode type

LLDB requires "proper" spacing when matching types.

Change-Id: I51376557e445f04023a2b7e1ee2fe4e584382b8c
Reviewed-by: default avatarhjk <hjk121@nokiamail.com>
parent 975a23c6
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment