|
|
@@ -173,6 +173,9 @@ function JitsiMeetExternalAPI(domain, room_name, width, height, parentNode,
|
|
173
|
173
|
|
|
174
|
174
|
this.eventHandlers = {};
|
|
175
|
175
|
|
|
|
176
|
+ // Map<{string} event_name, {boolean} postis_listener_added>
|
|
|
177
|
+ this.postisListeners = {};
|
|
|
178
|
+
|
|
176
|
179
|
this.numberOfParticipants = 1;
|
|
177
|
180
|
this._setupListeners();
|
|
178
|
181
|
|
|
|
@@ -328,12 +331,14 @@ JitsiMeetExternalAPI.prototype.addEventListener = function(event, listener) {
|
|
328
|
331
|
}
|
|
329
|
332
|
// We cannot remove listeners from postis that's why we are handling the
|
|
330
|
333
|
// callback that way.
|
|
331
|
|
- if(!(event in this.eventHandlers))
|
|
|
334
|
+ if(!this.postisListeners[event]) {
|
|
332
|
335
|
this.postis.listen(events[event], function(data) {
|
|
333
|
336
|
if((event in this.eventHandlers) &&
|
|
334
|
337
|
typeof this.eventHandlers[event] === "function")
|
|
335
|
338
|
this.eventHandlers[event].call(null, data);
|
|
336
|
339
|
}.bind(this));
|
|
|
340
|
+ this.postisListeners[event] = true;
|
|
|
341
|
+ }
|
|
337
|
342
|
this.eventHandlers[event] = listener;
|
|
338
|
343
|
changeEventStatus(this.postis, event, true);
|
|
339
|
344
|
};
|