Skip to content

Commit 163c4dd

Browse files
committed
Fix issues with buttons playing on reset.
Signed-off-by: Grant Skinner <[email protected]>
1 parent c25e0bb commit 163c4dd

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/easeljs/ui/ButtonHelper.js

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,6 @@ this.createjs = this.createjs||{};
135135
* @protected
136136
**/
137137
this._enabled = false;
138-
139138

140139
// setup:
141140
target.mouseChildren = false; // prevents issues when children are removed from the display list when state changes.
@@ -182,12 +181,14 @@ this.createjs = this.createjs||{};
182181
o.addEventListener("rollout", this);
183182
o.addEventListener("mousedown", this);
184183
o.addEventListener("pressup", this);
184+
if (o._reset) { o.__reset = o._reset; o._reset = this._reset;}
185185
} else {
186186
o.cursor = null;
187187
o.removeEventListener("rollover", this);
188188
o.removeEventListener("rollout", this);
189189
o.removeEventListener("mousedown", this);
190190
o.removeEventListener("pressup", this);
191+
if (o.__reset) { o._reset = o.__reset; delete(o.__reset); }
191192
}
192193
};
193194
/**
@@ -250,6 +251,18 @@ this.createjs = this.createjs||{};
250251
t.gotoAndStop&&t.gotoAndStop(label);
251252
}
252253
};
254+
255+
/**
256+
* Injected into target. Preserves the paused state through a reset.
257+
* @method _reset
258+
* @protected
259+
**/
260+
p._reset = function() {
261+
// TODO: explore better ways to handle this issue. This is hacky & disrupts object signatures.
262+
var p = this.paused;
263+
this.__reset();
264+
this.paused = p;
265+
};
253266

254267

255268
createjs.ButtonHelper = ButtonHelper;

0 commit comments

Comments
 (0)