diff --git a/layout/style/nsTransitionManager.cpp b/layout/style/nsTransitionManager.cpp index 89d8cf74bb91..62772ea4e151 100644 --- a/layout/style/nsTransitionManager.cpp +++ b/layout/style/nsTransitionManager.cpp @@ -406,9 +406,9 @@ nsTransitionManager::StyleContextChanged(dom::Element *aElement, currentValue != segment.mToValue) { // stop the transition if (!anim->GetEffect()->IsFinishedTransition()) { - anim->CancelFromStyle(); collection->UpdateAnimationGeneration(mPresContext); } + anim->CancelFromStyle(); animations.RemoveElementAt(i); } } while (i != 0); @@ -721,6 +721,7 @@ nsTransitionManager::PruneCompletedTransitions(mozilla::dom::Element* aElement, if (!ExtractComputedValueForTransition(prop.mProperty, aNewStyleContext, currentValue) || currentValue != segment.mToValue) { + anim->CancelFromStyle(); animations.RemoveElementAt(i); } } while (i != 0);