Index: Source/core/svg/animation/SMILTimeContainer.cpp |
diff --git a/Source/core/svg/animation/SMILTimeContainer.cpp b/Source/core/svg/animation/SMILTimeContainer.cpp |
index 5b6ccc9962ef6605951e6ecb3f40dd631c1a485d..2a5e8d8506da6122aae6ab93c554f799edd515d3 100644 |
--- a/Source/core/svg/animation/SMILTimeContainer.cpp |
+++ b/Source/core/svg/animation/SMILTimeContainer.cpp |
@@ -273,6 +273,16 @@ void SMILTimeContainer::updateAnimations(SMILTime elapsed, bool seekToTime) |
GroupedAnimationsMap::iterator end = m_scheduledAnimations.end(); |
for (GroupedAnimationsMap::iterator it = m_scheduledAnimations.begin(); it != end; ++it) { |
AnimationsVector* scheduled = it->value.get(); |
+ unsigned size = scheduled->size(); |
+ for (unsigned n = 0; n < size; n++) { |
+ SVGSMILElement* animation = scheduled->at(n); |
+ if (!animation->hasConditionsConnected()) |
+ animation->connectConditions(); |
+ } |
+ } |
+ |
+ for (GroupedAnimationsMap::iterator it = m_scheduledAnimations.begin(); it != end; ++it) { |
+ AnimationsVector* scheduled = it->value.get(); |
// Sort according to priority. Elements with later begin time have higher priority. |
// In case of a tie, document order decides. |