summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmoenig <jens@moenig.org>2013-12-12 14:55:40 +0100
committerjmoenig <jens@moenig.org>2013-12-12 14:55:40 +0100
commit59a39077b80d35fdb47ea67b4d87f1ab9a67807f (patch)
tree24a6d7e7d778cab3b639eaa81f11c7f231f3ff8c
parentf0268d9cd81b6869eaeb9d7729806fd9d33573ab (diff)
downloadsnap-59a39077b80d35fdb47ea67b4d87f1ab9a67807f.tar.gz
snap-59a39077b80d35fdb47ea67b4d87f1ab9a67807f.zip
fixed #277, #279 (blitting null-canvasses fails)
Thanks, Nathan, for the pointer to this!
-rwxr-xr-xhistory.txt4
-rw-r--r--morphic.js15
-rw-r--r--objects.js28
3 files changed, 29 insertions, 18 deletions
diff --git a/history.txt b/history.txt
index 62dadb2..e1bd47d 100755
--- a/history.txt
+++ b/history.txt
@@ -2035,3 +2035,7 @@ ______
131211
------
* Threads: accept lists as inputs to the green (text) LENGTH OF reporter
+
+131212
+------
+* Objects, Morphic: fixed #277, #279 (blitting null-canvasses fails)
diff --git a/morphic.js b/morphic.js
index 7305785..f6e55e3 100644
--- a/morphic.js
+++ b/morphic.js
@@ -1035,7 +1035,7 @@
/*global window, HTMLCanvasElement, getMinimumFontHeight, FileReader, Audio,
FileList, getBlurredShadowSupport*/
-var morphicVersion = '2013-November-22';
+var morphicVersion = '2013-December-12';
var modules = {}; // keep track of additional loaded modules
var useBlurredShadows = getBlurredShadowSupport(); // check for Chrome-bug
@@ -2735,11 +2735,13 @@ Morph.prototype.fullImage = function () {
this.allChildren().forEach(function (morph) {
if (morph.isVisible) {
ctx.globalAlpha = morph.alpha;
- ctx.drawImage(
- morph.image,
- morph.bounds.origin.x - fb.origin.x,
- morph.bounds.origin.y - fb.origin.y
- );
+ if (morph.extent().gt(new Point())) {
+ ctx.drawImage(
+ morph.image,
+ morph.bounds.origin.x - fb.origin.x,
+ morph.bounds.origin.y - fb.origin.y
+ );
+ }
}
});
return img;
@@ -4581,6 +4583,7 @@ CursorMorph.prototype.processKeyDown = function (event) {
this.keyDownEventUsed = true;
break;
default:
+ nop();
// this.inspectKeyEvent(event);
}
// notify target's parent of key event
diff --git a/objects.js b/objects.js
index 7f1e7a2..e6cb533 100644
--- a/objects.js
+++ b/objects.js
@@ -124,7 +124,7 @@ PrototypeHatBlockMorph*/
// Global stuff ////////////////////////////////////////////////////////
-modules.objects = '2013-December-04';
+modules.objects = '2013-December-12';
var SpriteMorph;
var StageMorph;
@@ -3373,12 +3373,14 @@ SpriteMorph.prototype.thumbnail = function (extentPoint) {
ctx = trg.getContext('2d');
ctx.save();
- ctx.scale(scale, scale);
- ctx.drawImage(
- src,
- Math.floor(xOffset / scale),
- Math.floor(yOffset / scale)
- );
+ if (scale !== Infinity) {
+ ctx.scale(scale, scale);
+ ctx.drawImage(
+ src,
+ Math.floor(xOffset / scale),
+ Math.floor(yOffset / scale)
+ );
+ }
return trg;
};
@@ -4662,11 +4664,13 @@ StageMorph.prototype.thumbnail = function (extentPoint, excludedSprite) {
this.children.forEach(function (morph) {
if (morph !== excludedSprite) {
fb = morph.fullBounds();
- ctx.drawImage(
- morph.fullImage(),
- fb.origin.x - myself.bounds.origin.x,
- fb.origin.y - myself.bounds.origin.y
- );
+ if (fb.extent().gt(new Point())) {
+ ctx.drawImage(
+ morph.fullImage(),
+ fb.origin.x - myself.bounds.origin.x,
+ fb.origin.y - myself.bounds.origin.y
+ );
+ }
}
});
return trg;