From 33bacb0cd62afcf058c1170d3a2381cc9faa2ed1 Mon Sep 17 00:00:00 2001 From: Kienz Date: Mon, 21 Jan 2013 22:15:28 +0100 Subject: [PATCH] Bugfix for canvas.toDataURL() - canvas.clearContext(canvas.contextTop) in after:render clears context if canvas.toDataURL() is called. Observe before:render and clear contextTop. --- lib/aligning_guidelines.js | 5 ++++- src/static_canvas.class.js | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/aligning_guidelines.js b/lib/aligning_guidelines.js index f6c76e7a..7563b91e 100644 --- a/lib/aligning_guidelines.js +++ b/lib/aligning_guidelines.js @@ -181,8 +181,11 @@ function initAligningGuidelines(canvas) { } }); - canvas.on('after:render', function() { + canvas.on('before:render', function() { canvas.clearContext(canvas.contextTop); + }); + + canvas.on('after:render', function() { for (var i = verticalLines.length; i--; ) { drawVerticalLine(verticalLines[i]); } diff --git a/src/static_canvas.class.js b/src/static_canvas.class.js index 95e25b7f..50bae431 100644 --- a/src/static_canvas.class.js +++ b/src/static_canvas.class.js @@ -533,6 +533,8 @@ this.clearContext(canvasToDrawOn); } + this.fire('before:render'); + if (this.clipTo) { this._clipCanvas(canvasToDrawOn); } @@ -546,8 +548,6 @@ this._drawBackroundImage(canvasToDrawOn); } - this.fire('before:render'); - var activeGroup = this.getActiveGroup(); for (var i = 0, length = this._objects.length; i < length; ++i) { if (!activeGroup ||