set map.baseLayer to null when removing base layer - thanks for review elemoine (closes #1191).
git-svn-id: http://svn.openlayers.org/trunk/openlayers@5349 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -590,13 +590,15 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
layer.map = null;
|
||||
|
||||
// if we removed the base layer, need to set a new one
|
||||
if (setNewBaseLayer && (this.baseLayer == layer)) {
|
||||
if(this.baseLayer == layer) {
|
||||
this.baseLayer = null;
|
||||
for(var i=0; i < this.layers.length; i++) {
|
||||
var iLayer = this.layers[i];
|
||||
if (iLayer.isBaseLayer) {
|
||||
this.setBaseLayer(iLayer);
|
||||
break;
|
||||
if(setNewBaseLayer) {
|
||||
for(var i=0; i < this.layers.length; i++) {
|
||||
var iLayer = this.layers[i];
|
||||
if (iLayer.isBaseLayer) {
|
||||
this.setBaseLayer(iLayer);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,6 +305,26 @@
|
||||
map.setBaseLayer(wmslayer2);
|
||||
t.ok(map.baseLayer == wmslayer2, "setbaselayer correctly sets 'baseLayer' property");
|
||||
}
|
||||
|
||||
function test_Map_removeLayer(t) {
|
||||
t.plan(1);
|
||||
var f = function() {};
|
||||
var layers = [
|
||||
{name: "fee", removeMap: f},
|
||||
{name: "fi", removeMap: f},
|
||||
{name: "fo", removeMap: f},
|
||||
{name: "fum", removeMap: f}
|
||||
];
|
||||
var map = {
|
||||
layers: layers,
|
||||
baseLayer: layers[0],
|
||||
layerContainerDiv: {removeChild: f},
|
||||
events: {triggerEvent: f}
|
||||
};
|
||||
OpenLayers.Map.prototype.removeLayer.apply(map, [map.baseLayer, false]);
|
||||
t.eq(map.baseLayer, null,
|
||||
"removing the baselayer sets baseLayer to null");
|
||||
}
|
||||
|
||||
function test_Map_removeLayer_res(t) {
|
||||
t.plan(2);
|
||||
|
||||
Reference in New Issue
Block a user