Export to GitHub

svgweb - issue #606

Starting animations immediately breaks syncbase values


Posted on Mar 1, 2011 by Massive Giraffe

What steps will reproduce the problem? The attached example fails using r1241 and later with Flash 10/forceflash=true

What is the expected output? Green square changing to blue at 3s.

What do you see instead? Green square forever.

See Issue 557 and r1241. - "The fix to be implemented is to start immediate animations right away after adding instead of waiting for the scheduler loop."

By starting animations immediately, they fire a begin event but other animations which have syncbase values referencing this event have not had a chance to add an event listener for that event.

From the attachment: <rect x="10" y="10" width="80" height="80" fill="red"> <set id="a1" attributeName="fill" to="green" begin="0s" fill="freeze"/> <set attributeName="fill" to="blue" begin="a1.begin+3s" fill="freeze"/> </rect>

The first animation is started immediately and fires a begin event in timeIntervalStarted(). The second animation doesn't get a chance to add an event listener (for a1.begin) until later when it performs parseParameters(). The second animation never starts.

Attachments

Comment #1

Posted on Mar 1, 2011 by Grumpy Dog

(No comment was entered for this change.)

Status: Accepted

Labels:
Type-Defect Priority-High