debugger: fix QStringList dumper

Did not take into account a non-zero 'begin' after a takeFirst().

Change-Id: Icaa1f87c18b1dec7778c4322fd971c9becedcce1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
hjk
2012-08-15 18:09:34 +02:00
parent 33f930e986
commit 894e75aaf0
2 changed files with 50 additions and 1 deletions

View File

@@ -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):

View File

@@ -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