Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Adobe Flex SDK 4.5 (Release)
-
None
-
Affected OS(s): All OS Platforms
Language Found: English
Description
Steps to reproduce:
1. Run the code below in the debugger
2. Click on the button
3. Look at the trace output
Actual Results:
You will see this in the trace output:
callAction called
Resize start
callAction called
Resize start
Resize stop
That is, when we set the playheadTime of the Sequence effect, its child effects are both played twice. When Sequence seeks into its child effects, it ends up playing every effect up to the one that currently should be playing, even if those effects have already ended (as in the case of the zero-duration CallAction effect) or have already started (as in the Resize case).
This can cause problems with some effects that don't expect to be played more than once at a time (just fixed sdk-25234 on this very issue).
Expected Results:
You should see this in the trace output:
callAction called
Resize start
Resize stop
Application:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
public function callActionTarget():void
]]
>
</fx:Script>
<fx:Declarations>
<s:Sequence id="mover" target="
">
<s:CallAction functionName="callActionTarget" target="
"/>
<s:Resize widthBy="50" effectStart="trace('Resize start')" effectEnd="trace('Resize stop')"/>
</s:Sequence>
</fx:Declarations>
<s:Button id="button" click="mover.playheadTime=100"/>
</s:Application>