diff --git a/HISTORY.md b/HISTORY.md index 8e554a64..724d6a25 100755 --- a/HISTORY.md +++ b/HISTORY.md @@ -11,9 +11,13 @@ * changed zebra-coloring for yellow custom block prototypes (in the block editor) so the hat block changes the shade, not the prototype * improved layout and rendering of (+) buttons in custom block prototypes * **Notable Fixes:** + * displaying a table containing the stage no longer crashes the page * correct identities when combining the items of an empty list with + / * / min / max -### 2021-03-03 +### 2021-03-05 +* tables, objects: displaying a table containing the stage no longer crashes the page + +### 2021-03-04 * gui: added trash button for undeleting sprites * gui: accept drops of sprites and sprite-icons in trash button * gui: animate undeleted sprites to glide back onstage diff --git a/snap.html b/snap.html index e7daeee0..13d848a4 100755 --- a/snap.html +++ b/snap.html @@ -10,12 +10,12 @@ - + - + diff --git a/src/objects.js b/src/objects.js index ca027b83..7a01c8c7 100644 --- a/src/objects.js +++ b/src/objects.js @@ -84,7 +84,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, BooleanSlotMorph, localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph, AlignmentMorph, Process, WorldMap, copyCanvas, useBlurredShadows*/ -modules.objects = '2021-March-02'; +modules.objects = '2021-March-05'; var SpriteMorph; var StageMorph; @@ -9080,18 +9080,19 @@ StageMorph.prototype.fullImage = Morph.prototype.fullImage; // StageMorph thumbnail -StageMorph.prototype.thumbnail = function (extentPoint, recycleMe) { +StageMorph.prototype.thumbnail = function (extentPoint, recycleMe, noWatchers) { // answer a new Canvas of extentPoint dimensions containing // my thumbnail representation keeping the originial aspect ratio // a "recycleMe canvas can be passed for re-use - return this.fancyThumbnail(extentPoint, null, false, recycleMe); + return this.fancyThumbnail(extentPoint, null, false, recycleMe, noWatchers); }; StageMorph.prototype.fancyThumbnail = function ( extentPoint, excludedSprite, nonRetina, - recycleMe + recycleMe, + noWatchers ) { var src = this.getImage(), scale = Math.min( @@ -9130,7 +9131,7 @@ StageMorph.prototype.fancyThumbnail = function ( ctx.restore(); } this.children.forEach(morph => { - if (morph.isVisible && (morph !== excludedSprite)) { + if ((isSnapObject(morph) || !noWatchers) && morph.isVisible && (morph !== excludedSprite)) { fb = morph.fullBounds(); fimg = morph.fullImage(); if (fimg.width && fimg.height) { diff --git a/src/tables.js b/src/tables.js index 6f93cbed..095885c0 100644 --- a/src/tables.js +++ b/src/tables.js @@ -7,7 +7,7 @@ written by Jens Mönig jens@moenig.org - Copyright (C) 2020 by Jens Mönig + Copyright (C) 2021 by Jens Mönig This file is part of Snap!. @@ -70,7 +70,7 @@ SpriteMorph, Context, Costume, BlockEditorMorph, SymbolMorph, IDE_Morph, Sound, SyntaxElementMorph, MenuMorph, SpriteBubbleMorph, SpeechBubbleMorph, CellMorph, ListWatcherMorph, BoxMorph, Variable, isSnapObject, useBlurredShadows*/ -modules.tables = '2020-October-06'; +modules.tables = '2021-March-05'; var Table; var TableCellMorph; @@ -381,7 +381,7 @@ TableCellMorph.prototype.render = function (ctx) { TableCellMorph.prototype.dataRepresentation = function (dta) { if (dta instanceof Morph) { if (isSnapObject(dta)) { - return dta.thumbnail(new Point(40, 40)); + return dta.thumbnail(new Point(40, 40), null, true); // no watchers } else { return dta.fullImage(); }