diff --git a/history.txt b/history.txt index cf09d794..25993eb6 100755 --- a/history.txt +++ b/history.txt @@ -2275,3 +2275,7 @@ ______ ------ * Blocks: Make upvars mutable * GUI: fixed #585 (sprite name conflict with stage). Thanks, Michael, for the report! + +140929 +------ +* Threads: fixed #591 fully copy local variables for sprite duplicates and (Scratch-like) clones diff --git a/threads.js b/threads.js index 37f86134..2b2c1f6d 100644 --- a/threads.js +++ b/threads.js @@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/ // Global stuff //////////////////////////////////////////////////////// -modules.threads = '2014-September-18'; +modules.threads = '2014-September-29'; var ThreadManager; var Process; @@ -2973,8 +2973,11 @@ VariableFrame.prototype.toString = function () { }; VariableFrame.prototype.copy = function () { - var frame = new VariableFrame(this.parentFrame); - frame.vars = copy(this.vars); + var frame = new VariableFrame(this.parentFrame), + myself = this; + this.names().forEach(function (vName) { + frame.addVar(vName, myself.getVar(vName)); + }); return frame; };