Correctly dispose of layer renderers when layers property changes

This commit is contained in:
Tom Payne
2013-01-07 13:13:44 +01:00
parent 196c3ca15e
commit 0e93217396

View File

@@ -226,10 +226,7 @@ ol.renderer.Map.prototype.handleLayersAdd = function(collectionEvent) {
* @protected
*/
ol.renderer.Map.prototype.handleLayersChanged = function() {
var layerRenderers = goog.object.getValues(this.layerRenderers);
goog.array.forEach(layerRenderers, function(layerRenderer) {
this.removeLayerRenderer(layerRenderer);
}, this);
goog.disposeAll(goog.object.getValues(this.layerRenderers));
this.layerRenderers = {};
if (!goog.isNull(this.layersListenerKeys_)) {
goog.array.forEach(this.layersListenerKeys_, goog.events.unlistenByKey);