aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2020-12-09 12:07:27 +0100
committerhjk <hjk@qt.io>2020-12-09 13:17:03 +0000
commit3b7aee724d947df44361ed20e6479e3d7624ba65 (patch)
tree400d4d88ecc1b1821b544c4b42685bf94b3385fe /share
parent344802b8b2458ba463a5cc6e01f787ea46795025 (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.py13
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():