From 8562582dd2d1c44fcc6f81327c0e71d350066e36 Mon Sep 17 00:00:00 2001 From: ahocevar Date: Thu, 23 May 2013 12:42:31 -0500 Subject: [PATCH] Avoiding duplicate events --- lib/OpenLayers/Control/ModifyFeature.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/OpenLayers/Control/ModifyFeature.js b/lib/OpenLayers/Control/ModifyFeature.js index 5029896d67..251c34a47e 100644 --- a/lib/OpenLayers/Control/ModifyFeature.js +++ b/lib/OpenLayers/Control/ModifyFeature.js @@ -235,8 +235,8 @@ OpenLayers.Control.ModifyFeature = OpenLayers.Class(OpenLayers.Control, { this.handlers.drag.evt); if (feature) { this.dragStart(feature); - } else if (this.feature && this.clickout) { - this.unselectFeature(this.feature); + } else if (this.clickout) { + this._unselect = this.feature; } }, move: function(pixel) { @@ -363,8 +363,9 @@ OpenLayers.Control.ModifyFeature = OpenLayers.Class(OpenLayers.Control, { * feature - {} the selected feature. */ selectFeature: function(feature) { - if (this.geometryTypes && OpenLayers.Util.indexOf(this.geometryTypes, - feature.geometry.CLASS_NAME) == -1) { + if ((this.modified && this.feature === feature) || + (this.geometryTypes && OpenLayers.Util.indexOf(this.geometryTypes, + feature.geometry.CLASS_NAME) == -1)) { return; } if (this.beforeSelectFeature(feature) !== false) {