[polari/wip/fmuellner/combined-gsoc: 125/137] userTracker: Fix	untracking members on disconnect
- From: Florian Müllner <fmuellner src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [polari/wip/fmuellner/combined-gsoc: 125/137] userTracker: Fix	untracking members on disconnect
 
- Date: Thu, 28 Jul 2016 16:25:57 +0000 (UTC)
 
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]