GUACAMOLE-250: Merge image rendering error fix.

This commit is contained in:
James Muehlner
2017-04-14 14:12:04 -07:00

View File

@@ -548,13 +548,20 @@ Guacamole.Display = function() {
// Draw and free blob URL when ready // Draw and free blob URL when ready
var task = scheduleTask(function __display_drawBlob() { var task = scheduleTask(function __display_drawBlob() {
layer.drawImage(x, y, image);
// Draw the image only if it loaded without errors
if (image.width && image.height)
layer.drawImage(x, y, image);
// Blob URL no longer needed
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
}, true); }, true);
// Load image from URL // Load image from URL
var image = new Image(); var image = new Image();
image.onload = task.unblock; image.onload = task.unblock;
image.onerror = task.unblock;
image.src = url; image.src = url;
}; };
@@ -572,11 +579,16 @@ Guacamole.Display = function() {
this.draw = function(layer, x, y, url) { this.draw = function(layer, x, y, url) {
var task = scheduleTask(function __display_draw() { var task = scheduleTask(function __display_draw() {
layer.drawImage(x, y, image);
// Draw the image only if it loaded without errors
if (image.width && image.height)
layer.drawImage(x, y, image);
}, true); }, true);
var image = new Image(); var image = new Image();
image.onload = task.unblock; image.onload = task.unblock;
image.onerror = task.unblock;
image.src = url; image.src = url;
}; };