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
* 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

Wyświetl plik

@ -10,12 +10,12 @@
<script src="src/widgets.js?version=2021-01-05"></script>
<script src="src/blocks.js?version=2021-02-27"></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/paint.js?version=2020-05-17"></script>
<script src="src/lists.js?version=2021-02-20"></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/video.js?version=2019-06-27"></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,
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) {

Wyświetl plik

@ -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();
}