aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitemanimation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickitemanimation.cpp')
-rw-r--r--src/quick/items/qquickitemanimation.cpp9
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;
}
}