[OpenLayers-Commits] r3104 - in trunk/openlayers: lib/OpenLayers/Layer tests/Layer
commits at openlayers.org
commits at openlayers.org
Tue May 1 10:09:05 EDT 2007
Author: crschmidt
Date: 2007-05-01 10:09:02 -0400 (Tue, 01 May 2007)
New Revision: 3104
Modified:
trunk/openlayers/lib/OpenLayers/Layer/Vector.js
trunk/openlayers/tests/Layer/test_Vector.html
Log:
Apply Erik's patch from #680 to fix "removeFeatures() in Layer.Vector does
not remove features from the selectedFeatures array when deleting features"
Modified: trunk/openlayers/lib/OpenLayers/Layer/Vector.js
===================================================================
--- trunk/openlayers/lib/OpenLayers/Layer/Vector.js 2007-05-01 14:04:19 UTC (rev 3103)
+++ trunk/openlayers/lib/OpenLayers/Layer/Vector.js 2007-05-01 14:09:02 UTC (rev 3104)
@@ -248,6 +248,12 @@
this.features = OpenLayers.Util.removeItem(this.features, feature);
this.renderer.eraseGeometry(feature.geometry);
+
+ //in the case that this feature is one of the selected features,
+ // remove it from that array as well.
+ if (OpenLayers.Util.indexOf(this.selectedFeatures, feature) != -1){
+ OpenLayers.Util.removeItem(this.selectedFeatures, feature);
+ }
}
},
Modified: trunk/openlayers/tests/Layer/test_Vector.html
===================================================================
--- trunk/openlayers/tests/Layer/test_Vector.html 2007-05-01 14:04:19 UTC (rev 3103)
+++ trunk/openlayers/tests/Layer/test_Vector.html 2007-05-01 14:09:02 UTC (rev 3104)
@@ -29,7 +29,7 @@
}
function test_03_Layer_Vector_removeFeatures(t) {
- t.plan(2);
+ t.plan(3);
var layer = new OpenLayers.Layer.Vector(name);
@@ -43,6 +43,9 @@
t.ok(layer.features.length == 1, "OpenLayers.Layer.Vector.removeFeatures removes a feature from the features array");
layer.addFeatures([pointFeature1.clone(), pointFeature2.clone()]);
+ layer.selectedFeatures.push(layer.features[0]);
+ layer.removeFeatures(layer.features[0]);
+ t.eq(layer.selectedFeatures, [], "Remove features removes selected features");
var features = layer.removeFeatures(layer.features);
t.ok(layer.features.length == 0,
More information about the Commits
mailing list