From f28c432b34b7885c2f2b25eed6ed13d7d54779f5 Mon Sep 17 00:00:00 2001 From: Bart van den Eijnden Date: Fri, 9 Mar 2012 14:05:48 +0100 Subject: [PATCH 1/2] prevent double click from firing click callback in IE --- lib/OpenLayers/Handler/Click.js | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/OpenLayers/Handler/Click.js b/lib/OpenLayers/Handler/Click.js index b1eaa181a3..3612c02a95 100644 --- a/lib/OpenLayers/Handler/Click.js +++ b/lib/OpenLayers/Handler/Click.js @@ -334,6 +334,7 @@ OpenLayers.Handler.Click = OpenLayers.Class(OpenLayers.Handler, { if (this["double"] && this.passesDblclickTolerance(evt)) { this.callback("dblclick", [evt]); } + this.clearTimer(); }, /** From 1dba227db4249216171c42533ab02fd0b2642d50 Mon Sep 17 00:00:00 2001 From: Bart van den Eijnden Date: Mon, 12 Mar 2012 09:59:25 +0100 Subject: [PATCH 2/2] add comment as to why clearTimer is needed here, and change control flow back to what it was before breakage, i.e. do not call clearTimer if it does not pass the tolerance --- lib/OpenLayers/Handler/Click.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/OpenLayers/Handler/Click.js b/lib/OpenLayers/Handler/Click.js index 3612c02a95..dcb8dd2432 100644 --- a/lib/OpenLayers/Handler/Click.js +++ b/lib/OpenLayers/Handler/Click.js @@ -331,10 +331,13 @@ OpenLayers.Handler.Click = OpenLayers.Class(OpenLayers.Handler, { * Handle double-click sequence. */ handleDouble: function(evt) { - if (this["double"] && this.passesDblclickTolerance(evt)) { - this.callback("dblclick", [evt]); + if (this.passesDblclickTolerance(evt)) { + if (this["double"]) { + this.callback("dblclick", [evt]); + } + // to prevent a dblclick from firing the click callback in IE + this.clearTimer(); } - this.clearTimer(); }, /**