diff --git a/src/item/Raster.js b/src/item/Raster.js index ef8944a8..c21303f5 100644 --- a/src/item/Raster.js +++ b/src/item/Raster.js @@ -44,7 +44,12 @@ var Raster = this.Raster = PlacedItem.extend(/** @lends Raster# */{ // If it's a string, get the element with this id first. if (typeof object === 'string') { var str = object, - that = this; + that = this, + done = function() { + that.fire('load'); + if (that._project.view) + that._project.view.draw(true); + }; object = document.getElementById(str); if (!object) { // str could be a URL to load the image from? @@ -55,18 +60,14 @@ var Raster = this.Raster = PlacedItem.extend(/** @lends Raster# */{ DomEvent.add(object, { load: function() { that.setImage(object); - that.fire('load'); + done(); } }); // If the image is already loaded, fire a 'load' event anyway, // so code does not need to make the distinction, and cachig is // transparently handled too. - if (object.naturalWidth) { - setTimeout(function() { - that.fire('load'); - }, 0); - } - + if (object.naturalWidth) + setTimeout(done, 0); } /*#*/ } else if (options.server) { // If we're running on the server and it's a string,