diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2014-04-04 10:42:37 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-04-09 00:29:23 +0200 |
commit | fc5314f96990148a7c32b988caf53c5db92b2b4b (patch) | |
tree | 2e376334b071b30072ab5aa111432cdd733f0597 /src/quick/items/qquicklistview.cpp | |
parent | 1674bf32c8d2b52d95dab62429bb605ca9d279cc (diff) |
ListView: fix rounding errors
Task-number: QTBUG-37339
Change-Id: I223e4d6bcabb1daa705c0ed2212e7e2b2fc3f37c
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'src/quick/items/qquicklistview.cpp')
-rw-r--r-- | src/quick/items/qquicklistview.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index 1c6d5acfa2..8f9dbb567f 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -2860,11 +2860,11 @@ void QQuickListView::geometryChanged(const QRectF &newGeometry, const QRectF &ol Q_D(QQuickListView); if (d->isRightToLeft()) { // maintain position relative to the right edge - int dx = newGeometry.width() - oldGeometry.width(); + qreal dx = newGeometry.width() - oldGeometry.width(); setContentX(contentX() - dx); } else if (d->isBottomToTop()) { // maintain position relative to the bottom edge - int dy = newGeometry.height() - oldGeometry.height(); + qreal dy = newGeometry.height() - oldGeometry.height(); setContentY(contentY() - dy); } QQuickItemView::geometryChanged(newGeometry, oldGeometry); @@ -2974,7 +2974,7 @@ bool QQuickListViewPrivate::applyInsertionChange(const QQmlChangeSet::Insert &ch } // index can be the next item past the end of the visible items list (i.e. appended) - int pos = 0; + qreal pos = 0; if (visibleItems.count()) { pos = index < visibleItems.count() ? visibleItems.at(index)->position() : visibleItems.last()->endPosition()+spacing; @@ -2985,7 +2985,7 @@ bool QQuickListViewPrivate::applyInsertionChange(const QQmlChangeSet::Insert &ch // Insert items before the visible item. int insertionIdx = index; int i = 0; - int from = tempPos - displayMarginBeginning - buffer; + qreal from = tempPos - displayMarginBeginning - buffer; for (i = count-1; i >= 0; --i) { if (pos > from && insertionIdx < visibleIndex) { @@ -3016,7 +3016,7 @@ bool QQuickListViewPrivate::applyInsertionChange(const QQmlChangeSet::Insert &ch } } else { int i = 0; - int to = buffer+displayMarginEnd+tempPos+size(); + qreal to = buffer + displayMarginEnd + tempPos + size(); for (i = 0; i < count && pos <= to; ++i) { FxViewItem *item = 0; if (change.isMove() && (item = currentChanges.removedItems.take(change.moveKey(modelIndex + i)))) |