From 5e02659eb7613f5a94424bd82de6aeb503d3735b Mon Sep 17 00:00:00 2001 From: Julian Viereck Date: Wed, 22 Jun 2011 22:00:53 +0200 Subject: [PATCH] Fix putImageData. Needs to be copied byte by byte. --- viewer_worker.html | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/viewer_worker.html b/viewer_worker.html index f6d7f11e5..92806bc99 100644 --- a/viewer_worker.html +++ b/viewer_worker.html @@ -44,12 +44,17 @@ var special = { }, "$putImageData": function(imageData, x, y) { - // Ugly: getImageData is called here only to get an object of the right - // shape - we are not interessted in the data, as we set it the line - // afterwards to something custome. - // Can we do better here? var imgData = this.getImageData(0, 0, imageData.width, imageData.height); - imgData.data = imageData.data; + + // Store the .data property to avaid property lookups. + var imageRealData = imageData.data; + var imgRealData = imgData.data; + + // Copy over the imageData. + var len = imageRealData.length; + while (len--) + imgRealData[len] = imageRealData[len] + this.putImageData(imgData, x, y); }, @@ -262,7 +267,7 @@ function open(url) { var data = req.mozResponseArrayBuffer || req.mozResponse || req.responseArrayBuffer || req.response; myWorker.postMessage(data); - showPage("13"); + showPage("2"); } }; req.send(null);