diff options
author | hjk <hjk@qt.io> | 2020-12-09 12:07:27 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2020-12-09 13:17:03 +0000 |
commit | 3b7aee724d947df44361ed20e6479e3d7624ba65 (patch) | |
tree | 400d4d88ecc1b1821b544c4b42685bf94b3385fe /share | |
parent | 344802b8b2458ba463a5cc6e01f787ea46795025 (diff) |
Debugger: Fix QFile dumper 64 bit for Qt6
32 bit offsets are mechanically adapted on the base that the size change
was due to five containers changing from one to three pointer in Qt6,
but this has not been checked.
Task-number: QTCREATORBUG-24098
Change-Id: I492485a720f75df5fdde3dedb2fcfe9e953f1ed7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'share')
-rw-r--r-- | share/qtcreator/debugger/qttypes.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index b38f36a03b..2f5c30d033 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -652,7 +652,18 @@ def qdump__QFile(d, value): # 9fc0965 and a373ffcd change the layout of the private structure qtVersion = d.qtVersion() is32bit = d.ptrSize() == 4 - if qtVersion >= 0x050600 and d.qtTypeInfoVersion() >= 17: + if qtVersion >= 0x060000: + # FIXME: values 0 are wrong. As the file name is the + # only direct member of QFilePrivate, the offsets are + # equal to sizeof(QFileDevicePrivate), the base class. + if d.isWindowsTarget(): + if d.isMsvcTarget(): + offset = 0 if is32bit else 304 + else: + offset = 0 if is32bit else 304 + else: + offset = 0 if is32bit else 304 + elif qtVersion >= 0x050600 and d.qtTypeInfoVersion() >= 17: # Some QRingBuffer member got removed in 8f92baf5c9 if d.isWindowsTarget(): if d.isMsvcTarget(): |