Skip to content

Commit

Permalink
Fix issue with DOM layers in wrong order
Browse files Browse the repository at this point in the history
When removing/inserting layers back-to-back, the layer elements can
get out of order because createLayerRenderer always appends to the
layer pane. This makes it always reattach the layer node at the
correct index, ensuring correct layer ordering.
  • Loading branch information
austinhyde committed Jan 27, 2014
1 parent 29bb04e commit 9e9d9a0
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/ol/renderer/dom/dommaprenderer.js
Expand Up @@ -71,7 +71,6 @@ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) {
goog.asserts.fail();
return null;
}
goog.dom.appendChild(this.layersPane_, layerRenderer.getTarget());
return layerRenderer;
};

Expand All @@ -94,7 +93,9 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) {
var i, ii, layer, layerRenderer, layerState;
for (i = 0, ii = layersArray.length; i < ii; ++i) {
layer = layersArray[i];
layerRenderer = this.getLayerRenderer(layer);
layerRenderer = /** @type {ol.renderer.dom.Layer} */ (
this.getLayerRenderer(layer));
goog.dom.insertChildAt(this.layersPane_, layerRenderer.getTarget(), i);
layerState = frameState.layerStates[goog.getUid(layer)];
if (layerState.sourceState == ol.source.State.READY) {
layerRenderer.prepareFrame(frameState, layerState);
Expand Down

0 comments on commit 9e9d9a0

Please sign in to comment.