summaryrefslogtreecommitdiff
path: root/program/js/common.js
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2014-04-18 13:04:23 +0200
committerAleksander Machniak <alec@alec.pl>2014-04-18 13:05:06 +0200
commit36a154e934b2e43fa24f2e177a5b6fe25b5eeffd (patch)
tree1ded4e134cd0e42f54a152d8070aadcd265cc73a /program/js/common.js
parente1e65c49803e5236a7b6e9527b90e5a894b02281 (diff)
Fix next message display after removing a message (#1489800)
Diffstat (limited to 'program/js/common.js')
-rw-r--r--program/js/common.js11
1 files changed, 8 insertions, 3 deletions
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;