From 5f3279990be3478fde79b94f7dbd5d7da80df84b Mon Sep 17 00:00:00 2001 From: jmoenig Date: Wed, 8 Oct 2014 11:21:49 +0200 Subject: [PATCH] fixed #608, #610 --- history.txt | 4 ++++ objects.js | 48 ++++++++++++++++++++++++++++++------------------ 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/history.txt b/history.txt index 59995366..28116b98 100755 --- a/history.txt +++ b/history.txt @@ -2305,3 +2305,7 @@ ______ 141006 ------ * GUI, Objects: fixed #604. Thanks, @Gubolin! + +141008 +------ +* Objects: fixed #608, #610 diff --git a/objects.js b/objects.js index 17450dd9..4be213ae 100644 --- a/objects.js +++ b/objects.js @@ -125,7 +125,7 @@ PrototypeHatBlockMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.objects = '2014-October-06'; +modules.objects = '2014-October-08'; var SpriteMorph; var StageMorph; @@ -4378,25 +4378,37 @@ StageMorph.prototype.drawOn = function (aCanvas, aRect) { ); // pen trails - ws = Math.floor( - Math.min(w / this.scale, this.image.width * this.scale) - ); - hs = Math.floor( - Math.min(h / this.scale, this.image.height * this.scale) - ); + ws = w / this.scale; + hs = h / this.scale; context.save(); context.scale(this.scale, this.scale); - context.drawImage( - this.penTrails(), - src.left() / this.scale, - src.top() / this.scale, - ws, - hs, - area.left() / this.scale, - area.top() / this.scale, - ws, - hs - ); + try { + context.drawImage( + this.penTrails(), + src.left() / this.scale, + src.top() / this.scale, + ws, + hs, + area.left() / this.scale, + area.top() / this.scale, + ws, + hs + ); + } catch (err) { // sometimes triggered only by Firefox + // console.log(err); + context.restore(); + context.drawImage( + this.penTrails(), + 0, + 0, + this.dimensions.x, + this.dimensions.y, + this.left(), + this.top(), + this.dimensions.x * this.scale, + this.dimensions.y * this.scale + ); + } context.restore(); } };