diff options
| author | jmoenig <jens@moenig.org> | 2014-10-08 11:21:49 +0200 |
|---|---|---|
| committer | jmoenig <jens@moenig.org> | 2014-10-08 11:21:49 +0200 |
| commit | 5f3279990be3478fde79b94f7dbd5d7da80df84b (patch) | |
| tree | ad39e4c2e3817d0543e3688a276cf392a3dbcacc | |
| parent | 2ae675132a52b8fdb3bd52e80db858500de9f265 (diff) | |
| download | snap-yow-5f3279990be3478fde79b94f7dbd5d7da80df84b.tar.gz snap-yow-5f3279990be3478fde79b94f7dbd5d7da80df84b.zip | |
fixed #608, #610
| -rwxr-xr-x | history.txt | 4 | ||||
| -rw-r--r-- | objects.js | 48 |
2 files changed, 34 insertions, 18 deletions
diff --git a/history.txt b/history.txt index 5999536..28116b9 100755 --- a/history.txt +++ b/history.txt @@ -2305,3 +2305,7 @@ ______ 141006 ------ * GUI, Objects: fixed #604. Thanks, @Gubolin! + +141008 +------ +* Objects: fixed #608, #610 @@ -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(); } }; |
