From acd76a10b69d135b21db86d6bd9d896dbe63dfbb Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Tue, 8 Mar 2016 15:54:17 +0100 Subject: [PATCH] Clean up when propagation is stopped --- src/ol/events/eventtarget.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ol/events/eventtarget.js b/src/ol/events/eventtarget.js index 81ac20f993..956b698f16 100644 --- a/src/ol/events/eventtarget.js +++ b/src/ol/events/eventtarget.js @@ -70,11 +70,13 @@ ol.events.EventTarget.prototype.dispatchEvent = function(event) { var type = evt.type; evt.target = this; var listeners = this.listeners_[type]; + var propagate; if (listeners) { this.pendingRemovals_[type] = 0; for (var i = 0, ii = listeners.length; i < ii; ++i) { if (listeners[i].call(this, evt) === false || evt.propagationStopped) { - return false; + propagate = false; + break; } } var pendingRemovals = this.pendingRemovals_[type]; @@ -82,6 +84,7 @@ ol.events.EventTarget.prototype.dispatchEvent = function(event) { while (pendingRemovals--) { this.removeEventListener(type, ol.nullFunction); } + return propagate; } };