[polari/wip/fmuellner/combined-gsoc: 125/137] userTracker: Fix untracking members on disconnect



commit 294f0d3362f4d1fff844e9647001677ba8f57d98
Author: Florian Müllner <fmuellner gnome org>
Date:   Tue Jul 26 23:05:21 2016 +0200

    userTracker: Fix untracking members on disconnect
    
    Array.forEach() doesn't handle array changes while running the loop,
    so replace it with a while loop that can deal with the changing
    array size.

 src/userTracker.js |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/src/userTracker.js b/src/userTracker.js
index 2b00308..43b286b 100644
--- a/src/userTracker.js
+++ b/src/userTracker.js
@@ -188,7 +188,8 @@ const UserTracker = new Lang.Class({
     _clearUsersFromRoom: function(room) {
         let map = this._getRoomContacts(room);
         for ([baseNick, contacts] of map)
-            contacts.forEach((m) => { this._untrackMember(m, room); });
+            while (contacts.length > 0)
+                this._untrackMember(contacts[0], room);
     },
 
     _ensureRoomMappingForRoom: function(room) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]