forked from qt-creator/qt-creator
Debugger: Extend and fix QPolygon dumper and test for Qt6
Task-number: QTCREATORBUG-24098 Change-Id: Ia2e43d15263e18698d9db6b4d23fa553c7b7ae5b Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -556,9 +556,10 @@ class DumperBase():
|
|||||||
return size, limit
|
return size, limit
|
||||||
|
|
||||||
def vectorData(self, value):
|
def vectorData(self, value):
|
||||||
|
if self.qtVersion() >= 0x060000:
|
||||||
|
data, size, alloc = self.qArrayData(value)
|
||||||
|
elif self.qtVersion() >= 0x050000:
|
||||||
vector_data_ptr = self.extractPointer(value)
|
vector_data_ptr = self.extractPointer(value)
|
||||||
# vector_data_ptr is what is e.g. stored in a QVector's d_ptr.
|
|
||||||
if self.qtVersion() >= 0x050000:
|
|
||||||
if self.ptrSize() == 4:
|
if self.ptrSize() == 4:
|
||||||
(ref, size, alloc, offset) = self.split('IIIp', vector_data_ptr)
|
(ref, size, alloc, offset) = self.split('IIIp', vector_data_ptr)
|
||||||
else:
|
else:
|
||||||
@@ -566,6 +567,7 @@ class DumperBase():
|
|||||||
alloc = alloc & 0x7ffffff
|
alloc = alloc & 0x7ffffff
|
||||||
data = vector_data_ptr + offset
|
data = vector_data_ptr + offset
|
||||||
else:
|
else:
|
||||||
|
vector_data_ptr = self.extractPointer(value)
|
||||||
(ref, alloc, size) = self.split('III', vector_data_ptr)
|
(ref, alloc, size) = self.split('III', vector_data_ptr)
|
||||||
data = vector_data_ptr + 16
|
data = vector_data_ptr + 16
|
||||||
self.check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000)
|
self.check(0 <= size and size <= alloc and alloc <= 1000 * 1000 * 1000)
|
||||||
|
@@ -7442,6 +7442,8 @@ void tst_Dumpers::dumper_data()
|
|||||||
|
|
||||||
"QApplication app(argc, argv);\n"
|
"QApplication app(argc, argv);\n"
|
||||||
"QGraphicsScene sc;\n"
|
"QGraphicsScene sc;\n"
|
||||||
|
"QPolygon p0;\n"
|
||||||
|
"QPolygonF p1;\n"
|
||||||
"QPolygonF pol;\n"
|
"QPolygonF pol;\n"
|
||||||
"pol.append(QPointF(1, 2));\n"
|
"pol.append(QPointF(1, 2));\n"
|
||||||
"pol.append(QPointF(2, 2));\n"
|
"pol.append(QPointF(2, 2));\n"
|
||||||
@@ -7454,6 +7456,8 @@ void tst_Dumpers::dumper_data()
|
|||||||
|
|
||||||
+ GuiProfile()
|
+ GuiProfile()
|
||||||
|
|
||||||
|
+ Check("p0", "<0 items>", "@QPolygon")
|
||||||
|
+ Check("p1", "<0 items>", "@QPolygonF")
|
||||||
+ Check("pol", "<5 items>", "@QPolygonF")
|
+ Check("pol", "<5 items>", "@QPolygonF")
|
||||||
+ Check("p", "<5 items>", "@QGraphicsPolygonItem");
|
+ Check("p", "<5 items>", "@QGraphicsPolygonItem");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user