diff options
Diffstat (limited to 'src/quick/items/qquickitemanimation.cpp')
-rw-r--r-- | src/quick/items/qquickitemanimation.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/quick/items/qquickitemanimation.cpp b/src/quick/items/qquickitemanimation.cpp index 9d140b3156..da577d808a 100644 --- a/src/quick/items/qquickitemanimation.cpp +++ b/src/quick/items/qquickitemanimation.cpp @@ -836,12 +836,13 @@ QAbstractAnimationJob* QQuickPathAnimation::transition(QQuickStateActions &actio prevData = *d->activeAnimations[target]->pathUpdater(); } - QList<QQuickItem*> keys = d->activeAnimations.keys(); - foreach (QQuickItem *item, keys) { - QQuickPathAnimationAnimator *anim = d->activeAnimations.value(item); + for (auto it = d->activeAnimations.begin(); it != d->activeAnimations.end();) { + QQuickPathAnimationAnimator *anim = it.value(); if (anim->state() == QAbstractAnimationJob::Stopped) { anim->clearTemplate(); - d->activeAnimations.remove(item); + it = d->activeAnimations.erase(it); + } else { + ++it; } } |