From 318003d3992d4454561d6027b8399e6f48f300ed Mon Sep 17 00:00:00 2001 From: bartvde Date: Sat, 12 Mar 2011 16:03:57 +0000 Subject: [PATCH] Point Handler should not create feature if it is not active anymore, p=me,erilem r=ahocevar (closes #3172) git-svn-id: http://svn.openlayers.org/trunk/openlayers@11701 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf --- lib/OpenLayers/Handler/Point.js | 2 +- tests/Handler/Point.html | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/OpenLayers/Handler/Point.js b/lib/OpenLayers/Handler/Point.js index 253a4f4553..fa586949b1 100644 --- a/lib/OpenLayers/Handler/Point.js +++ b/lib/OpenLayers/Handler/Point.js @@ -284,7 +284,7 @@ OpenLayers.Handler.Point = OpenLayers.Class(OpenLayers.Handler, { if(cancel || !this.persist) { this.destroyFeature(); } - if(!noNew) { + if(!noNew && this.active) { this.createFeature(); } }, diff --git a/tests/Handler/Point.html b/tests/Handler/Point.html index db4b1242ac..ad8c15a385 100644 --- a/tests/Handler/Point.html +++ b/tests/Handler/Point.html @@ -25,7 +25,7 @@ } function test_Handler_Point_activation(t) { - t.plan(10); + t.plan(11); var log = []; var map = new OpenLayers.Map("map", { resolutions: [1] @@ -70,7 +70,15 @@ activated = handler.deactivate(); t.ok(activated, "deactivate returns true if the handler was active already"); - + var failed = false; + try { + handler.finalize(); + msg = "finalizing after deactivation does not throw an error"; + } catch (err) { + failed = true; + msg = "finalizing after deactivation throws an error"; + } + t.ok(!failed, msg); map.destroy(); }