diff --git a/lime/graphics/Image.hx b/lime/graphics/Image.hx index 5ba0b43e4..22516cebc 100644 --- a/lime/graphics/Image.hx +++ b/lime/graphics/Image.hx @@ -1829,7 +1829,7 @@ class Image { private function get_src ():Dynamic { #if (js && html5) - if (buffer.__srcCanvas == null && (buffer.data != null || image.type == DATA)) { + if (buffer.__srcCanvas == null && (buffer.data != null || type == DATA)) { ImageCanvasUtil.convertToCanvas (this); diff --git a/lime/graphics/format/JPEG.hx b/lime/graphics/format/JPEG.hx index c990c84c8..f9476801f 100644 --- a/lime/graphics/format/JPEG.hx +++ b/lime/graphics/format/JPEG.hx @@ -138,8 +138,7 @@ class JPEG { #elseif js - image.type = CANVAS; - ImageCanvasUtil.sync (image, false); + ImageCanvasUtil.convertToCanvas (image, false); if (image.buffer.__srcCanvas != null) { diff --git a/lime/graphics/format/PNG.hx b/lime/graphics/format/PNG.hx index 07a88e3ea..e154e14aa 100644 --- a/lime/graphics/format/PNG.hx +++ b/lime/graphics/format/PNG.hx @@ -149,8 +149,7 @@ class PNG { #elseif js - image.type = CANVAS; - ImageCanvasUtil.sync (image, false); + ImageCanvasUtil.convertToCanvas (image, false); if (image.buffer.__srcCanvas != null) { diff --git a/lime/graphics/utils/ImageCanvasUtil.hx b/lime/graphics/utils/ImageCanvasUtil.hx index ce8437d38..8f387ad6b 100644 --- a/lime/graphics/utils/ImageCanvasUtil.hx +++ b/lime/graphics/utils/ImageCanvasUtil.hx @@ -34,9 +34,9 @@ class ImageCanvasUtil { public static function convertToCanvas (image:Image, clear:Bool = false):Void { + #if (js && html5) var buffer = image.buffer; - #if (js && html5) if (buffer.__srcImage != null) { if (buffer.__srcCanvas == null) { @@ -429,11 +429,11 @@ class ImageCanvasUtil { if (image == null) return; #if (js && html5) - if (image.type == CANVAS) { + if (image.type == CANVAS && (image.buffer.__srcCanvas != null || image.buffer.data != null)) { convertToCanvas (image, clear); - } else { + } else if (image.type == DATA) { convertToData (image, clear);