From 55d5d99fdcbd014e087b7be08d5d7d4ba95c9eff Mon Sep 17 00:00:00 2001 From: Stefan Kienzle Date: Wed, 21 Aug 2013 10:08:35 +0200 Subject: [PATCH] Fix loadFromJSON for image objects without image filters --- src/node.js | 8 +++++--- src/shapes/image.class.js | 7 +++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/node.js b/src/node.js index b8cab44e..490d6b65 100644 --- a/src/node.js +++ b/src/node.js @@ -106,7 +106,7 @@ fabric.loadSVGFromString = function(string, callback, reviver) { var doc = new DOMParser().parseFromString(string); fabric.parseSVGDocument(doc.documentElement, function(results, options) { - callback(results, options); + callback && callback(results, options); }, reviver); }; @@ -122,8 +122,10 @@ var oImg = new fabric.Image(img); oImg._initConfig(object); - oImg._initFilters(object); - callback(oImg); + oImg._initFilters(object, function(filters) { + oImg.filters = filters || [ ]; + callback && callback(oImg); + }); }); }; diff --git a/src/shapes/image.class.js b/src/shapes/image.class.js index 26079fc2..1a650697 100644 --- a/src/shapes/image.class.js +++ b/src/shapes/image.class.js @@ -364,9 +364,12 @@ _initFilters: function(object, callback) { if (object.filters && object.filters.length) { fabric.util.enlivenObjects(object.filters, function(enlivenedObjects) { - callback(enlivenedObjects); + callback && callback(enlivenedObjects); }, 'fabric.Image.filters'); } + else { + callback && callback(); + } }, /** @@ -419,7 +422,7 @@ /** @ignore */ img.onload = function() { fabric.Image.prototype._initFilters.call(object, object, function(filters) { - object.filters = filters; + object.filters = filters || [ ]; var instance = new fabric.Image(img, object); callback && callback(instance);