From 26925a89f1121ad1ca9d3039e733415f8509fd64 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Mon, 9 Apr 2007 15:29:31 +0000 Subject: [PATCH] #645 - layer.removeFeatures backs through the features array to ensure that all features are removed git-svn-id: http://svn.openlayers.org/trunk/openlayers@3036 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Layer/Vector.js | 2 +- tests/Layer/test_Vector.html | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) 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) {