diff --git a/lib/OpenLayers/Layer/Vector.js b/lib/OpenLayers/Layer/Vector.js index f4150faba5..a752552932 100644 --- a/lib/OpenLayers/Layer/Vector.js +++ b/lib/OpenLayers/Layer/Vector.js @@ -254,7 +254,7 @@ OpenLayers.Layer.Vector.prototype = features = [features]; } - for (var i = 0; i < features.length; i++) { + for (var i = features.length - 1; i >= 0; i--) { var feature = features[i]; this.features = OpenLayers.Util.removeItem(this.features, feature); diff --git a/tests/Layer/test_Vector.html b/tests/Layer/test_Vector.html index cbcef59dc8..98f66ba7c3 100644 --- a/tests/Layer/test_Vector.html +++ b/tests/Layer/test_Vector.html @@ -30,7 +30,7 @@ } function test_03_Layer_Vector_removeFeatures(t) { - t.plan(1); + t.plan(2); var layer = new OpenLayers.Layer.Vector(name); @@ -43,13 +43,11 @@ var features = layer.removeFeatures([pointFeature1]); t.ok(layer.features.length == 1, "OpenLayers.Layer.Vector.removeFeatures removes a feature from the features array"); -/* patch for #645 will include this layer.addFeatures([pointFeature1.clone(), pointFeature2.clone()]); var features = layer.removeFeatures(layer.features); t.ok(layer.features.length == 0, "OpenLayers.Layer.Vector.removeFeatures(layer.features) removes all feature from the features array"); -*/ } function test_Layer_Vector_addStyle (t) {