From 36a154e934b2e43fa24f2e177a5b6fe25b5eeffd Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Fri, 18 Apr 2014 13:04:23 +0200 Subject: Fix next message display after removing a message (#1489800) --- CHANGELOG | 1 + program/js/common.js | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 43867e5c9..3bd30e1f0 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,7 @@ CHANGELOG Roundcube Webmail - Fix XSS issue in plain text spellchecker (#1489806) - Fix invalid page title for some folders (1489804) - Fix redundant alert message on over-size uploads (#1489817) +- Fix next message display after removing a message (#1489800) RELEASE 1.0.0 ------------- diff --git a/program/js/common.js b/program/js/common.js index 722eb3f60..72a68bb8b 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -327,13 +327,17 @@ removeEventListener: function(evt, func, obj) triggerEvent: function(evt, e) { var ret, h; + if (e === undefined) e = this; else if (typeof e === 'object') e.event = evt; - if (this._events && this._events[evt] && !this._event_exec) { - this._event_exec = true; + if (!this._event_exec) + this._event_exec = {}; + + if (this._events && this._events[evt] && !this._event_exec[evt]) { + this._event_exec[evt] = true; for (var i=0; i < this._events[evt].length; i++) { if ((h = this._events[evt][i])) { if (typeof h.func === 'function') @@ -356,7 +360,8 @@ triggerEvent: function(evt, e) } } - this._event_exec = false; + delete this._event_exec[evt]; + if (e.event) { try { delete e.event; -- cgit v1.2.3