diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py index 34aa82e59b1f7084cdd25262b1fd4027411d95f8..363bce08c7c326bbb8c59bc5594d94c429512964 100644 --- a/share/qtcreator/dumper/qttypes.py +++ b/share/qtcreator/dumper/qttypes.py @@ -1397,7 +1397,8 @@ def qdump__QStringList(d, value): d.putNumChild(size) if d.isExpanded(): innerType = lookupType(d.ns + "QString") - d.putArrayData(innerType, d_ptr["array"], size, 0) + innerTypePP = innerType.pointer().pointer() + d.putArrayData(innerType, d_ptr["array"].cast(innerTypePP) + begin, size, 0) def qdump__QTemporaryFile(d, value): diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp index 0423d29f8fe0539394255c14d2bb395785d83de2..8c108aad3aa1f1401788868ee39273f22b154d3f 100644 --- a/tests/manual/debugger/simple/simple_test_app.cpp +++ b/tests/manual/debugger/simple/simple_test_app.cpp @@ -1152,6 +1152,51 @@ namespace qlist { dummyStatement(&big); } + void testQListIntTakeFirst() + { + QList<int> l; + l.append(0); + l.append(1); + l.append(2); + l.takeFirst(); + BREAK_HERE; + // Expand l. + // Check l <2 items> QList<int>. + // Check l.0 1 int. + // Continue. + dummyStatement(&l); + } + + void testQListStringTakeFirst() + { + QList<QString> l; + l.append("0"); + l.append("1"); + l.append("2"); + l.takeFirst(); + BREAK_HERE; + // Expand l. + // Check l <2 items> QList<QString>. + // Check l.0 "1" QString. + // Continue. + dummyStatement(&l); + } + + void testQStringListTakeFirst() + { + QStringList l; + l.append("0"); + l.append("1"); + l.append("2"); + l.takeFirst(); + BREAK_HERE; + // Expand l. + // Check l <2 items> QStringList. + // Check l.0 "1" QString. + // Continue. + dummyStatement(&l); + } + void testQListIntStar() { QList<int *> l; @@ -1320,6 +1365,9 @@ namespace qlist { testQListStdString(); testQListFoo(); testQListReverse(); + testQListIntTakeFirst(); + testQListStringTakeFirst(); + testQStringListTakeFirst(); } } // namespace qlist