From e23c18a09c9ccd7a5d7c8947e9adb1a0a679d4aa Mon Sep 17 00:00:00 2001 From: ahocevar Date: Wed, 16 Jan 2013 12:09:37 +0100 Subject: [PATCH] Process queue immediately when params change This fixes an issue where the queue would never be processed when a layer is updated using mergeNewParams. --- lib/OpenLayers/TileManager.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/OpenLayers/TileManager.js b/lib/OpenLayers/TileManager.js index a34e9e30ba..1eee6a1e20 100644 --- a/lib/OpenLayers/TileManager.js +++ b/lib/OpenLayers/TileManager.js @@ -114,6 +114,7 @@ OpenLayers.TileManager = OpenLayers.Class({ map.events.on({ move: this.move, zoomend: this.zoomEnd, + changelayer: this.changeLayer, addlayer: this.addLayer, preremovelayer: this.removeLayer, scope: this @@ -141,6 +142,7 @@ OpenLayers.TileManager = OpenLayers.Class({ map.events.un({ move: this.move, zoomend: this.zoomEnd, + changelayer: this.changeLayer, addlayer: this.addLayer, preremovelayer: this.removeLayer, scope: this @@ -173,6 +175,19 @@ OpenLayers.TileManager = OpenLayers.Class({ this.updateTimeout(evt.object, this.zoomDelay); }, + /** + * Method: changeLayer + * Handles the map's changeLayer event + * + * Parameters: + * evt - {Object} Listener argument + */ + changeLayer: function(evt) { + if (evt.property === 'params') { + this.updateTimeout(evt.object, 0); + } + }, + /** * Method: addLayer * Handles the map's addlayer event