displaying a table containing the stage no longer crashes the page

pull/95/head
jmoenig 2021-03-05 08:16:55 +01:00
rodzic 63064c38a1
commit 492efed0b8
4 zmienionych plików z 16 dodań i 11 usunięć

Wyświetl plik

@ -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 * 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 * improved layout and rendering of (+) buttons in custom block prototypes
* **Notable Fixes:** * **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 * 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: added trash button for undeleting sprites
* gui: accept drops of sprites and sprite-icons in trash button * gui: accept drops of sprites and sprite-icons in trash button
* gui: animate undeleted sprites to glide back onstage * gui: animate undeleted sprites to glide back onstage

Wyświetl plik

@ -10,12 +10,12 @@
<script src="src/widgets.js?version=2021-01-05"></script> <script src="src/widgets.js?version=2021-01-05"></script>
<script src="src/blocks.js?version=2021-02-27"></script> <script src="src/blocks.js?version=2021-02-27"></script>
<script src="src/threads.js?version=2021-03-02"></script> <script src="src/threads.js?version=2021-03-02"></script>
<script src="src/objects.js?version=2021-03-02"></script> <script src="src/objects.js?version=2021-03-05"></script>
<script src="src/gui.js?version=2021-03-04"></script> <script src="src/gui.js?version=2021-03-04"></script>
<script src="src/paint.js?version=2020-05-17"></script> <script src="src/paint.js?version=2020-05-17"></script>
<script src="src/lists.js?version=2021-02-20"></script> <script src="src/lists.js?version=2021-02-20"></script>
<script src="src/byob.js?version=2021-03-01"></script> <script src="src/byob.js?version=2021-03-01"></script>
<script src="src/tables.js?version=2020-10-06"></script> <script src="src/tables.js?version=2021-03-05"></script>
<script src="src/sketch.js?version=2020-07-13"></script> <script src="src/sketch.js?version=2020-07-13"></script>
<script src="src/video.js?version=2019-06-27"></script> <script src="src/video.js?version=2019-06-27"></script>
<script src="src/maps.js?version=2020-03-25"></script> <script src="src/maps.js?version=2020-03-25"></script>

Wyświetl plik

@ -84,7 +84,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, BooleanSlotMorph,
localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph, localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph,
AlignmentMorph, Process, WorldMap, copyCanvas, useBlurredShadows*/ AlignmentMorph, Process, WorldMap, copyCanvas, useBlurredShadows*/
modules.objects = '2021-March-02'; modules.objects = '2021-March-05';
var SpriteMorph; var SpriteMorph;
var StageMorph; var StageMorph;
@ -9080,18 +9080,19 @@ StageMorph.prototype.fullImage = Morph.prototype.fullImage;
// StageMorph thumbnail // StageMorph thumbnail
StageMorph.prototype.thumbnail = function (extentPoint, recycleMe) { StageMorph.prototype.thumbnail = function (extentPoint, recycleMe, noWatchers) {
// answer a new Canvas of extentPoint dimensions containing // answer a new Canvas of extentPoint dimensions containing
// my thumbnail representation keeping the originial aspect ratio // my thumbnail representation keeping the originial aspect ratio
// a "recycleMe canvas can be passed for re-use // 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 ( StageMorph.prototype.fancyThumbnail = function (
extentPoint, extentPoint,
excludedSprite, excludedSprite,
nonRetina, nonRetina,
recycleMe recycleMe,
noWatchers
) { ) {
var src = this.getImage(), var src = this.getImage(),
scale = Math.min( scale = Math.min(
@ -9130,7 +9131,7 @@ StageMorph.prototype.fancyThumbnail = function (
ctx.restore(); ctx.restore();
} }
this.children.forEach(morph => { this.children.forEach(morph => {
if (morph.isVisible && (morph !== excludedSprite)) { if ((isSnapObject(morph) || !noWatchers) && morph.isVisible && (morph !== excludedSprite)) {
fb = morph.fullBounds(); fb = morph.fullBounds();
fimg = morph.fullImage(); fimg = morph.fullImage();
if (fimg.width && fimg.height) { if (fimg.width && fimg.height) {

Wyświetl plik

@ -7,7 +7,7 @@
written by Jens Mönig written by Jens Mönig
jens@moenig.org jens@moenig.org
Copyright (C) 2020 by Jens Mönig Copyright (C) 2021 by Jens Mönig
This file is part of Snap!. This file is part of Snap!.
@ -70,7 +70,7 @@ SpriteMorph, Context, Costume, BlockEditorMorph, SymbolMorph, IDE_Morph, Sound,
SyntaxElementMorph, MenuMorph, SpriteBubbleMorph, SpeechBubbleMorph, CellMorph, SyntaxElementMorph, MenuMorph, SpriteBubbleMorph, SpeechBubbleMorph, CellMorph,
ListWatcherMorph, BoxMorph, Variable, isSnapObject, useBlurredShadows*/ ListWatcherMorph, BoxMorph, Variable, isSnapObject, useBlurredShadows*/
modules.tables = '2020-October-06'; modules.tables = '2021-March-05';
var Table; var Table;
var TableCellMorph; var TableCellMorph;
@ -381,7 +381,7 @@ TableCellMorph.prototype.render = function (ctx) {
TableCellMorph.prototype.dataRepresentation = function (dta) { TableCellMorph.prototype.dataRepresentation = function (dta) {
if (dta instanceof Morph) { if (dta instanceof Morph) {
if (isSnapObject(dta)) { if (isSnapObject(dta)) {
return dta.thumbnail(new Point(40, 40)); return dta.thumbnail(new Point(40, 40), null, true); // no watchers
} else { } else {
return dta.fullImage(); return dta.fullImage();
} }