forked from qt-creator/qt-creator
Debugger: Adapt QDir dumper to Qt6
Task-number: QTCREATORBUG-24098 Change-Id: I5346a8eb129dd042279754748b26852acf082f94 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -468,10 +468,12 @@ def qdump__QDir(d, value):
|
|||||||
# + 2 byte padding
|
# + 2 byte padding
|
||||||
fileSystemEntrySize = 2 * d.ptrSize() + 8
|
fileSystemEntrySize = 2 * d.ptrSize() + 8
|
||||||
|
|
||||||
if d.qtVersion() < 0x050200:
|
if d.qtVersion() >= 0x060000:
|
||||||
case = 0
|
case = 2
|
||||||
elif d.qtVersion() >= 0x050300:
|
elif d.qtVersion() >= 0x050300:
|
||||||
case = 1
|
case = 1
|
||||||
|
elif d.qtVersion() < 0x050200:
|
||||||
|
case = 0
|
||||||
else:
|
else:
|
||||||
# Try to distinguish bool vs QStringList at the first item
|
# Try to distinguish bool vs QStringList at the first item
|
||||||
# after the (padded) refcount. If it looks like a bool assume
|
# after the (padded) refcount. If it looks like a bool assume
|
||||||
@@ -479,17 +481,28 @@ def qdump__QDir(d, value):
|
|||||||
firstValue = d.extractInt(privAddress + d.ptrSize())
|
firstValue = d.extractInt(privAddress + d.ptrSize())
|
||||||
case = 1 if firstValue == 0 or firstValue == 1 else 0
|
case = 1 if firstValue == 0 or firstValue == 1 else 0
|
||||||
|
|
||||||
if case == 1:
|
if case == 2:
|
||||||
|
if bit32:
|
||||||
|
filesOffset = 4
|
||||||
|
fileInfosOffset = 16
|
||||||
|
dirEntryOffset = 40
|
||||||
|
absoluteDirEntryOffset = 72
|
||||||
|
else:
|
||||||
|
filesOffset = 8
|
||||||
|
fileInfosOffset = 32
|
||||||
|
dirEntryOffset = 96
|
||||||
|
absoluteDirEntryOffset = 152
|
||||||
|
elif case == 1:
|
||||||
if bit32:
|
if bit32:
|
||||||
filesOffset = 4
|
filesOffset = 4
|
||||||
fileInfosOffset = 8
|
fileInfosOffset = 8
|
||||||
dirEntryOffset = 0x20
|
dirEntryOffset = 32
|
||||||
absoluteDirEntryOffset = 0x30
|
absoluteDirEntryOffset = 48
|
||||||
else:
|
else:
|
||||||
filesOffset = 0x08
|
filesOffset = 8
|
||||||
fileInfosOffset = 0x10
|
fileInfosOffset = 16
|
||||||
dirEntryOffset = 0x30
|
dirEntryOffset = 48
|
||||||
absoluteDirEntryOffset = 0x48
|
absoluteDirEntryOffset = 72
|
||||||
else:
|
else:
|
||||||
# Assume this is before 9fc0965.
|
# Assume this is before 9fc0965.
|
||||||
qt3support = d.isQt3Support()
|
qt3support = d.isQt3Support()
|
||||||
@@ -1037,7 +1050,7 @@ def qdump__QVariantList(d, value):
|
|||||||
|
|
||||||
def qdumpHelper_QList(d, value, innerType):
|
def qdumpHelper_QList(d, value, innerType):
|
||||||
if d.qtVersion() >= 0x60000:
|
if d.qtVersion() >= 0x60000:
|
||||||
dd, data, size = value.split('ppi')
|
dd, data, size = d.split('ppi', value)
|
||||||
d.putItemCount(size)
|
d.putItemCount(size)
|
||||||
d.putPlotData(data, size, innerType)
|
d.putPlotData(data, size, innerType)
|
||||||
return
|
return
|
||||||
|
Reference in New Issue
Block a user