Opened 10 years ago
Closed 10 years ago
#11706 closed defect (worksforme)
Chart incorrectly destroys animations
Reported by: | Stefan Bird | Owned by: | Eugene Lazutkin |
---|---|---|---|
Priority: | high | Milestone: | 1.7 |
Component: | Charting | Version: | 1.5 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
If a chart is destroyed while an action is in progress, action2d._Base fails in the following section (around line 72):
df.forIn(this.anim, function(o){
df.forIn(o, function(anim){
anim.action.stop(true);
});
});
It appears the second df.forIn is unnecessary (and incorrect) as o has an action member with a stop method. I'm pretty sure the code should be:
df.forIn(this.anim, function(o){
o.action.stop(true);
});
Attachments (1)
Change History (8)
comment:1 Changed 10 years ago by
comment:2 Changed 10 years ago by
Milestone: | tbd → 1.6 |
---|---|
Status: | new → assigned |
comment:3 Changed 10 years ago by
Milestone: | 1.6 → 1.7 |
---|
Changed 10 years ago by
Attachment: | test_animdestroy.html added |
---|
tentative test-case (not reproducing)
comment:4 Changed 10 years ago by
I tried to reproduce with http://bugs.dojotoolkit.org/attachment/ticket/11706/test_animdestroy.html but was not able. Go to the PieChart? at the bottom, go other a slice, a slow MoveSlice? begins, press 'a' while the animation is going on, this will call Chart.destroy() but I don't have any error...
comment:6 Changed 10 years ago by
I'm still running on 1.5, and because of the refactoring between 1.5 and 1.6 I'm not able to run the test case. For now I guess we can assume that it's already been fixed in trunk; if I encounter the issue again in 1.6 or 1.7 I'll create my own test case and post it here.
comment:7 Changed 10 years ago by
Resolution: | → worksforme |
---|---|
Status: | assigned → closed |
Closing as working in the current trunk. Please reopen, if you find a way to reproduce it.
Mmm, seems I overlooked how the subclasses were using this.anim - sometimes o is an empty object, so the change I suggested is also incorrect :o(
Easiest way (for me) to reproduce the bug is to create a pie chart with a moveslice animation, and have a button nearby that destroys the chart. Move the cursor over a slice then click the button before the slice has had time to return.