From 0a4931cb41a8f6e138d2664e28c48cf72f43dfb0 Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Tue, 10 Jan 2012 11:37:10 -0800 Subject: [PATCH] Copying from a buffer with no width/height should not fail. Hard exceptions in handlers causes layer task handling to stall. --- guacamole-common-js/src/main/resources/layer.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/guacamole-common-js/src/main/resources/layer.js b/guacamole-common-js/src/main/resources/layer.js index bd6af677d..e76206045 100644 --- a/guacamole-common-js/src/main/resources/layer.js +++ b/guacamole-common-js/src/main/resources/layer.js @@ -141,7 +141,7 @@ Guacamole.Layer = function(width, height) { // Redraw old data, if any if (oldData) - displayContext.drawImage(oldData, + displayContext.drawImage(oldData, 0, 0, width, height, 0, 0, width, height); @@ -400,7 +400,10 @@ Guacamole.Layer = function(width, height) { function doCopyRect() { if (layer.autosize != 0) fitRect(x, y, srcw, srch); - displayContext.drawImage(srcLayer.getCanvas(), srcx, srcy, srcw, srch, x, y, srcw, srch); + + var srcCanvas = srcLayer.getCanvas(); + if (srcCanvas.width != 0 && srcCanvas.height != 0) + displayContext.drawImage(srcCanvas, srcx, srcy, srcw, srch, x, y, srcw, srch); } // If we ARE the source layer, no need to sync.