Index: Source/core/svg/SVGDocumentExtensions.cpp |
diff --git a/Source/core/svg/SVGDocumentExtensions.cpp b/Source/core/svg/SVGDocumentExtensions.cpp |
index b8665f61731e5afa1273dd05fe3b8fd7a5e7a7f5..bf28cc21f5f24a112c4381a7a47891f7a2868b6b 100644 |
--- a/Source/core/svg/SVGDocumentExtensions.cpp |
+++ b/Source/core/svg/SVGDocumentExtensions.cpp |
@@ -111,8 +111,11 @@ void SVGDocumentExtensions::startAnimations() |
WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> > timeContainers; |
timeContainers.appendRange(m_timeContainers.begin(), m_timeContainers.end()); |
WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> >::iterator end = timeContainers.end(); |
- for (WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> >::iterator itr = timeContainers.begin(); itr != end; ++itr) |
- (*itr)->timeContainer()->begin(); |
+ for (WillBeHeapVector<RefPtrWillBeMember<SVGSVGElement> >::iterator itr = timeContainers.begin(); itr != end; ++itr) { |
+ SMILTimeContainer* timeContainer = (*itr)->timeContainer(); |
+ if (!timeContainer->isStarted()) |
+ timeContainer->begin(); |
+ } |
} |
void SVGDocumentExtensions::pauseAnimations() |