From d7d90b20e3b46bbb252f8ee76b9288bf519868ca Mon Sep 17 00:00:00 2001 From: bartvde Date: Fri, 24 Jun 2011 18:21:49 +0000 Subject: [PATCH] BBOX Strategy is active for an inactive vector layer, r=pgiraud (pullup #3383) git-svn-id: http://svn.openlayers.org/trunk/openlayers@12126 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Strategy/BBOX.js | 2 +- tests/Strategy/BBOX.html | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/OpenLayers/Strategy/BBOX.js b/lib/OpenLayers/Strategy/BBOX.js index 54135af22d..59b1b222c9 100644 --- a/lib/OpenLayers/Strategy/BBOX.js +++ b/lib/OpenLayers/Strategy/BBOX.js @@ -87,7 +87,7 @@ OpenLayers.Strategy.BBOX = OpenLayers.Class(OpenLayers.Strategy, { "refresh": this.update, scope: this }); - if(this.layer.visibility == true) { + if(this.layer.visibility === true && this.layer.inRange === true) { this.update(); } else { this.layer.events.on({ diff --git a/tests/Strategy/BBOX.html b/tests/Strategy/BBOX.html index dd0499297d..026a13d474 100644 --- a/tests/Strategy/BBOX.html +++ b/tests/Strategy/BBOX.html @@ -280,7 +280,7 @@ // Test fix for Ticket #3142 function test_layerLoadedAfterBeingAdded(t) { - t.plan(1); + t.plan(2); var dummy = new OpenLayers.Layer(null, {isBaseLayer: true}); @@ -300,14 +300,23 @@ projection: 'EPSG:900913' }); + // Make sure that layers that are not in range don't request data + var layerOutOfRange = new OpenLayers.Layer.Vector(null, { + maxResolution: 1, + protocol: new OpenLayers.Protocol(), + strategies: [new OpenLayers.Strategy.BBOX()] + }); + var map = new OpenLayers.Map("map"); map.addLayer(dummy); map.addLayer(layerReproject); map.setCenter(new OpenLayers.LonLat(0, 0)); map.addLayer(layer); - + map.addLayer(layerOutOfRange); // test that the strategy bounds were set t.ok(map.getExtent().equals(strategy.bounds), "[set center] bounds set to map extent"); + t.eq(layerOutOfRange.strategies[0].bounds, null, "Data not requested if layer is out of range"); + map.destroy(); }