diff --git a/src/qtquick1/graphicsitems/qdeclarativelistview.cpp b/src/qtquick1/graphicsitems/qdeclarativelistview.cpp index 8fafdbe6e3..e24b6307e6 100644 --- a/src/qtquick1/graphicsitems/qdeclarativelistview.cpp +++ b/src/qtquick1/graphicsitems/qdeclarativelistview.cpp @@ -3287,7 +3287,7 @@ void QDeclarative1ListView::itemsInserted(int modelIndex, int count) } } else { int i = 0; - int to = d->buffer+tempPos+d->size()-1; + int to = d->buffer+tempPos+d->size(); for (i = 0; i < count && pos <= to; ++i) { if (!addedVisible) { d->scheduleLayout(); diff --git a/tests/auto/declarative/qsglistview/tst_qsglistview.cpp b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp index a3b5cd64bd..e2e4b044ad 100644 --- a/tests/auto/declarative/qsglistview/tst_qsglistview.cpp +++ b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp @@ -620,6 +620,14 @@ void tst_QSGListView::inserted() // QTRY_COMPARE(listview->contentItemHeight(), model.count() * 20.0); + // QTBUG-19675 + model.clear(); + model.insertItem(0, "Hello", "1234"); + QSGItem *item = findItem(contentItem, "wrapper", 0); + QVERIFY(item); + QCOMPARE(item->y(), 0.); + QVERIFY(listview->contentY() == 0); + delete canvas; delete testObject; } diff --git a/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp index d55a851ede..0742673373 100644 --- a/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp +++ b/tests/auto/qtquick1/qdeclarativelistview/tst_qdeclarativelistview.cpp @@ -557,6 +557,14 @@ void tst_QDeclarative1ListView::inserted() // QTRY_COMPARE(listview->contentItemHeight(), model.count() * 20.0); + // QTBUG-19675 + model.clear(); + model.insertItem(0, "Hello", "1234"); + QDeclarativeItem *item = findItem(contentItem, "wrapper", 0); + QVERIFY(item); + QCOMPARE(item->y(), 0.); + QVERIFY(listview->contentY() == 0); + delete canvas; delete testObject; }