Opened 6 years ago

Last modified 3 years ago

#17253 reopened defect

[patch] all animations fire according to rate of first animation

Reported by: bill Owned by:
Priority: low Milestone: 1.15
Component: fx Version: 1.9.0
Keywords: Cc:
Blocked By: Blocking:

Description

Since a473d97, dojo/_base/fx has a complex design where there's only one setInterval timer running, called runner.run, and it's used by all the animations.

However, if two animations are running concurrently but with different rates set, the second animation won't work correct because it's piggybacking on the timer setup by the first animation, which is at the rate of the first animation.

Code of interest is in _startTimer, in the second if() statement:

_startTimer: function(){
        if(!this._timer){
                this._timer = aspect.after(runner, "run", lang.hitch(this, function(){
                        console.log("after runner.run");
                        this._cycle();
                }), true);
                ctr++;
        }
        if(!timer){
                timer = setInterval(lang.hitch(runner, "run"), this.rate);
        }
},

Change History (6)

comment:1 Changed 5 years ago by bill

Looks like https://github.com/dojo/dojo/pull/42 has the start of a patch but it needs a CLA and test case.

comment:2 Changed 5 years ago by dylan

Milestone: tbd1.10
Priority: undecidedlow
Summary: all animations fire according to rate of first animation[patch] all animations fire according to rate of first animation

comment:3 Changed 5 years ago by dylan

Milestone: 1.101.11

The creator of the start of the patch refuses to sign the CLA. Pushing this out.

comment:4 Changed 4 years ago by dylan

Resolution: patchwelcome
Status: newclosed

Without a CLA, we cannot accept this one unfortunately.

comment:5 Changed 4 years ago by dylan

Milestone: 1.111.12
Resolution: patchwelcome
Status: closedreopened

comment:6 Changed 3 years ago by dylan

Milestone: 1.131.15

Ticket planning... move current 1.13 tickets out to 1.15 to make it easier to move tickets into the 1.13 milestone.

Note: See TracTickets for help on using tickets.