From: Galen Charlton Date: Wed, 30 Jan 2013 15:59:10 +0000 (-0500) Subject: LP#1086458: clean up event listener functions X-Git-Tag: sprint4-merge-nov22~3368 X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=0f074b31b4ded0c7db3565b3a51c216b92afeaf8;p=working%2FEvergreen.git LP#1086458: clean up event listener functions Signed-off-by: Galen Charlton Signed-off-by: Ben Shum --- diff --git a/Open-ILS/xul/staff_client/chrome/content/OpenILS/event_util.js b/Open-ILS/xul/staff_client/chrome/content/OpenILS/event_util.js index 39934b4529..6e7d09ddd6 100644 --- a/Open-ILS/xul/staff_client/chrome/content/OpenILS/event_util.js +++ b/Open-ILS/xul/staff_client/chrome/content/OpenILS/event_util.js @@ -21,13 +21,16 @@ EventListenerList.prototype = { 'removeAll' : function() { try { if (typeof this._listeners != 'undefined') { - for (var i = 0; i < this._listeners.length; i++) { + for (var i = this._listeners.length - 1; i >= 0; i--) { this._listeners[i].node.removeEventListener( this._listeners[i].type, this._listeners[i].listener, this._listeners[i].useCapture ); + this._listeners[i].listener = null; + delete this._listeners[i]; } + this._listeners = []; } } catch(E) { alert(location.href + ' Error in unloadEventListeners(): ' + E);