From c97a29d13b6a85f0c3b3c7adf0b333027bd8b2d6 Mon Sep 17 00:00:00 2001 From: oterral Date: Wed, 14 Jan 2015 09:34:03 +0100 Subject: [PATCH] Allow rendering of feature when download of icon failed --- src/ol/render/vector.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/ol/render/vector.js b/src/ol/render/vector.js index e02c7ada18..4adafac19f 100644 --- a/src/ol/render/vector.js +++ b/src/ol/render/vector.js @@ -88,18 +88,11 @@ ol.renderer.vector.renderFeature = function( var loading = false; var imageStyle, imageState; imageStyle = style.getImage(); - if (goog.isNull(imageStyle)) { - ol.renderer.vector.renderFeature_( - replayGroup, feature, style, squaredTolerance); - } else { + if (!goog.isNull(imageStyle)) { imageState = imageStyle.getImageState(); if (imageState == ol.style.ImageState.LOADED || imageState == ol.style.ImageState.ERROR) { imageStyle.unlistenImageChange(listener, thisArg); - if (imageState == ol.style.ImageState.LOADED) { - ol.renderer.vector.renderFeature_( - replayGroup, feature, style, squaredTolerance); - } } else { if (imageState == ol.style.ImageState.IDLE) { imageStyle.load(); @@ -110,6 +103,8 @@ ol.renderer.vector.renderFeature = function( loading = true; } } + ol.renderer.vector.renderFeature_(replayGroup, feature, style, + squaredTolerance); return loading; }; @@ -254,6 +249,9 @@ ol.renderer.vector.renderPointGeometry_ = goog.asserts.assertInstanceof(geometry, ol.geom.Point); var imageStyle = style.getImage(); if (!goog.isNull(imageStyle)) { + if (imageStyle.getImageState() != ol.style.ImageState.LOADED) { + return; + } var imageReplay = replayGroup.getReplay( style.getZIndex(), ol.render.ReplayType.IMAGE); imageReplay.setImageStyle(imageStyle); @@ -281,6 +279,9 @@ ol.renderer.vector.renderMultiPointGeometry_ = goog.asserts.assertInstanceof(geometry, ol.geom.MultiPoint); var imageStyle = style.getImage(); if (!goog.isNull(imageStyle)) { + if (imageStyle.getImageState() != ol.style.ImageState.LOADED) { + return; + } var imageReplay = replayGroup.getReplay( style.getZIndex(), ol.render.ReplayType.IMAGE); imageReplay.setImageStyle(imageStyle);