diff options
Diffstat (limited to 'src/quick/items/qquickpositioners.cpp')
-rw-r--r-- | src/quick/items/qquickpositioners.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/src/quick/items/qquickpositioners.cpp b/src/quick/items/qquickpositioners.cpp index e1d0457916..e9a0c179e0 100644 --- a/src/quick/items/qquickpositioners.cpp +++ b/src/quick/items/qquickpositioners.cpp @@ -246,11 +246,8 @@ void QQuickBasePositioner::prePositioning() if (addedIndex < 0) addedIndex = posItem.index; PositionedItem *theItem = &positionedItems[positionedItems.count()-1]; - d->transitioner->transitionNextReposition(theItem, QQuickItemViewTransitioner::AddTransition, true); - d->transitioner->addTransitionIndexes << posItem.index; - d->transitioner->addTransitionTargets << posItem.item; } } } else { @@ -273,8 +270,6 @@ void QQuickBasePositioner::prePositioning() addedIndex = item->index; d->transitioner->transitionNextReposition(&positionedItems[positionedItems.count()-1], QQuickItemViewTransitioner::AddTransition, true); - d->transitioner->addTransitionIndexes << item->index; - d->transitioner->addTransitionTargets << item->item; } } else { item->isNew = false; @@ -307,12 +302,11 @@ void QQuickBasePositioner::prePositioning() if (d->transitioner) { QRectF viewBounds; - for (int i=0; i<positionedItems.count(); i++) { - if (positionedItems[i].prepareTransition(viewBounds)) - positionedItems[i].startTransition(d->transitioner); - } - d->transitioner->addTransitionIndexes.clear(); - d->transitioner->addTransitionTargets.clear(); + for (int i=0; i<positionedItems.count(); i++) + positionedItems[i].prepareTransition(d->transitioner, viewBounds); + for (int i=0; i<positionedItems.count(); i++) + positionedItems[i].startTransition(d->transitioner); + d->transitioner->resetTargetLists(); } d->doingPositioning = false; |