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)