Index: dojo-release-1.3.2-src/dojo/_base/fx.js =================================================================== --- dojo-release-1.3.2-src.orig/dojo/_base/fx.js 2010-04-20 06:58:10.000000000 -0700 +++ dojo-release-1.3.2-src/dojo/_base/fx.js 2010-04-20 06:58:21.000000000 -0700 @@ -48,6 +48,11 @@ pId: a */ this.curve = new d._Line(this.curve[0], this.curve[1]); } + this._connects=[]; + }, + + destroy: function() { + d.forEach(this._connects, d.disconnect); }, // duration: Integer @@ -363,7 +368,7 @@ props.end = fArgs.end; var anim = d.animateProperty(fArgs); - d.connect(anim, "beforeBegin", d.partial(_makeFadeable, fArgs.node)); + anim._connects.push(d.connect(anim, "beforeBegin", d.partial(_makeFadeable, fArgs.node))); return anim; // dojo._Animation } @@ -514,7 +519,7 @@ if(!args.easing){ args.easing = d._defaultEasing; } var anim = new d._Animation(args); - d.connect(anim, "beforeBegin", anim, function(){ + anim._connects.push(d.connect(anim, "beforeBegin", anim, function(){ var pm = {}; for(var p in this.properties){ // Make shallow copy of properties into pm because we overwrite @@ -555,8 +560,8 @@ } } this.curve = new PropLine(pm); - }); - d.connect(anim, "onAnimate", d.hitch(d, "style", anim.node)); + })); + anim._connects.push(d.connect(anim, "onAnimate", d.hitch(d, "style", anim.node))); return anim; // dojo._Animation }