diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-05-09 16:25:58 +0200 |
---|---|---|
committer | Gunnar Sletta <gunnar.sletta@jollamobile.com> | 2014-05-10 11:53:47 +0200 |
commit | 66646dd8c37adb488a79ab274b2396a649674e6d (patch) | |
tree | b0f5ac752a52cec3de1d47692e09295197622dcd /src/quick/items/qquickitemview.cpp | |
parent | da15ea0f3b5805db657f13060c21efa78f10cde2 (diff) | |
parent | d82a17b929dd88fe76258b0f801beaa1b2ee343e (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
.qmake.conf
src/plugins/accessible/quick/quick.pro
src/quick/items/qquickpincharea.cpp
src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp
src/quick/scenegraph/qsgthreadedrenderloop.cpp
Manually adjusted for TestHTTPServer constructor change:
tests/auto/quick/qquickimage/tst_qquickimage.cpp
Change-Id: I5e58a7c08ea92d6fc5e3bce98571c54f7b2ce08f
Diffstat (limited to 'src/quick/items/qquickitemview.cpp')
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index e51a562490..b4f6c34c6a 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -364,6 +364,8 @@ void QQuickItemView::setDelegate(QQmlComponent *delegate) if (!d->ownModel) { d->model = new QQmlDelegateModel(qmlContext(this)); d->ownModel = true; + if (isComponentComplete()) + static_cast<QQmlDelegateModel *>(d->model.data())->componentComplete(); } if (QQmlDelegateModel *dataModel = qobject_cast<QQmlDelegateModel*>(d->model)) { int oldCount = dataModel->count(); @@ -906,12 +908,12 @@ void QQuickItemViewPrivate::positionViewAtIndex(int index, int mode) else maxExtent = isContentFlowReversed() ? q->minXExtent()-size(): -q->maxXExtent(); if (!item) { - int itemPos = positionAt(idx); + qreal itemPos = positionAt(idx); changedVisibleIndex(idx); // save the currently visible items in case any of them end up visible again QList<FxViewItem *> oldVisible = visibleItems; visibleItems.clear(); - setPosition(qMin(qreal(itemPos), maxExtent)); + setPosition(qMin(itemPos, maxExtent)); // now release the reference to all the old visible items. for (int i = 0; i < oldVisible.count(); ++i) releaseItem(oldVisible.at(i)); @@ -2318,7 +2320,8 @@ void QQuickItemView::initItem(int, QObject *object) { QQuickItem* item = qmlobject_cast<QQuickItem*>(object); if (item) { - item->setZ(1); + if (qFuzzyIsNull(item->z())) + item->setZ(1); item->setParentItem(contentItem()); QQuickItemPrivate::get(item)->setCulled(true); } @@ -2382,7 +2385,8 @@ QQuickItem *QQuickItemViewPrivate::createComponentItem(QQmlComponent *component, item = new QQuickItem; } if (item) { - item->setZ(zValue); + if (qFuzzyIsNull(item->z())) + item->setZ(zValue); QQml_setParent_noEvent(item, q->contentItem()); item->setParentItem(q->contentItem()); } |