From 17d7f2491116a94c83f52a9f110e3953ec7c26cb Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 4 Dec 2020 14:40:26 +0100 Subject: [PATCH] Debugger: Fix QGraphicsPolygonItem dumper for Qt6 64 bits And effectively disable the 32bit version, too much effort for the gain. Change-Id: Ia11da05f3d57feba915d6b2d2d9c901e5aec3433 Reviewed-by: Christian Stenger --- share/qtcreator/debugger/qttypes.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/share/qtcreator/debugger/qttypes.py b/share/qtcreator/debugger/qttypes.py index 62c9d81c5c6..1a8223aa265 100644 --- a/share/qtcreator/debugger/qttypes.py +++ b/share/qtcreator/debugger/qttypes.py @@ -1666,13 +1666,20 @@ def qdump__QPolygon(d, value): def qdump__QGraphicsPolygonItem(d, value): (vtbl, dptr) = value.split('pp') - # Assume sizeof(QGraphicsPolygonItemPrivate) == 400 - if d.ptrSize() == 8: - offset = 384 - elif d.isWindowsTarget(): - offset = 328 if d.isMsvcTarget() else 320 + if d.qtVersion() >= 0x060000: + if d.ptrSize() == 8: + offset = 424 # sizeof(QGraphicsPolygonItemPrivate), the base + else: + # Chicken out. Not worth maintaining. + d.putPlainChildren(value) + return else: - offset = 308 + if d.ptrSize() == 8: + offset = 384 + elif d.isWindowsTarget(): + offset = 328 if d.isMsvcTarget() else 320 + else: + offset = 308 data, size = d.vectorData(dptr + offset) d.putItemCount(size) d.putPlotData(data, size, d.createType('@QPointF'))