forked from qt-creator/qt-creator
Dumpers: Add a dumper for QPointer
It has an internal QWeakPointer<QObject>, which is not helpful. Cast to the QPointer's template argument instead. Change-Id: I9308c5eb9ea3867a682c4e4cba5d8041547981d1 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
2485eb1a8c
commit
9ed36db854
@@ -1806,7 +1806,10 @@ def qdump__QSharedPointer(d, value):
|
||||
def qdump__QWeakPointer(d, value):
|
||||
qdump_QWeakPointerHelper(d, value, True)
|
||||
|
||||
def qdump_QWeakPointerHelper(d, value, isWeak):
|
||||
def qdump__QPointer(d, value):
|
||||
qdump_QWeakPointerHelper(d, value['wp'], True, value.type[0])
|
||||
|
||||
def qdump_QWeakPointerHelper(d, value, isWeak, innerType = None):
|
||||
if isWeak:
|
||||
(d_ptr, val) = value.split('pp')
|
||||
else:
|
||||
@@ -1828,7 +1831,8 @@ def qdump_QWeakPointerHelper(d, value, isWeak):
|
||||
d.check(strongref <= weakref)
|
||||
d.check(weakref <= 10*1000*1000)
|
||||
|
||||
innerType = value.type[0]
|
||||
if innerType is None:
|
||||
innerType = value.type[0]
|
||||
with Children(d):
|
||||
short = d.putSubItem('data', d.createValue(val, innerType))
|
||||
d.putIntItem('weakref', weakref)
|
||||
|
@@ -3110,6 +3110,20 @@ void tst_Dumpers::dumper_data()
|
||||
+ Check("ppp.a", "1", "int");
|
||||
|
||||
|
||||
QTest::newRow("QPointer")
|
||||
<< Data("#include <QPointer>\n"
|
||||
"#include <QTimer>\n",
|
||||
|
||||
"QTimer timer; unused(&timer);\n"
|
||||
"QPointer<QTimer> ptr0; unused(&ptr0);\n"
|
||||
"QPointer<QTimer> ptr1(&timer); unused(&ptr1);\n\n")
|
||||
|
||||
+ CoreProfile()
|
||||
|
||||
+ Check("ptr0", "(null)", "@QPointer<QTimer>")
|
||||
+ Check("ptr1", "", "@QPointer<QTimer>");
|
||||
|
||||
|
||||
QTest::newRow("QScopedPointer")
|
||||
<< Data("#include <QScopedPointer>\n"
|
||||
"#include <QString>\n",
|
||||
|
Reference in New Issue
Block a user