diff --git a/HISTORY.md b/HISTORY.md index dc7d99ce..ebee7c63 100755 --- a/HISTORY.md +++ b/HISTORY.md @@ -6,9 +6,11 @@ * added meaningful defaults to blocks in the palette that didn't already have them * **Notable Fixes:** * fixed a costume-shrinkWrap edgecase bug, thanks, Brian, for reporting it! + * fixed dynamic costume-inheritance for PASTE and CUT ### 2020-11-11 * objects: added meaningful defaults to blocks in the palette that didn't already have them +* threads: fixed dynamic costume-inheritance for PASTE and CUT ### 2020-11-09 * new dev version diff --git a/snap.html b/snap.html index ff62f4b3..87694f17 100755 --- a/snap.html +++ b/snap.html @@ -9,7 +9,7 @@ - + diff --git a/src/threads.js b/src/threads.js index bd16b266..09c0427b 100644 --- a/src/threads.js +++ b/src/threads.js @@ -61,7 +61,7 @@ StageMorph, SpriteMorph, StagePrompterMorph, Note, modules, isString, copy, Map, isNil, WatcherMorph, List, ListWatcherMorph, alert, console, TableMorph, BLACK, TableFrameMorph, ColorSlotMorph, isSnapObject, newCanvas, Symbol, SVG_Costume*/ -modules.threads = '2020-November-02'; +modules.threads = '2020-November-11'; var ThreadManager; var Process; @@ -4401,9 +4401,12 @@ Process.prototype.blitOn = function (name, mask, thisObj, stage) { } else { those = this.getObjectsNamed(name, thisObj, stage); // clones } - those.forEach(each => - this.blitOn(each, mask, thisObj, stage) - ); + those.forEach(each => { + // only draw on same-named clones that don't dynamically the costume + if (!each.inheritsAttribute('costume #')) { + this.blitOn(each, mask, thisObj, stage); + } + }); }; // Process temporary cloning (Scratch-style)