Mercurial > pidgin.yaz
comparison src/blist.c @ 6956:a084d95d59dc
[gaim-migrate @ 7503]
this should speed signon up a bit
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Wed, 24 Sep 2003 23:26:32 +0000 |
parents | ed14dda65d8e |
children | 166e42b26654 |
comparison
equal
deleted
inserted
replaced
6955:2d4ab97a177e | 6956:a084d95d59dc |
---|---|
1338 for(gnode = gaimbuddylist->root; gnode; gnode = gnode->next) { | 1338 for(gnode = gaimbuddylist->root; gnode; gnode = gnode->next) { |
1339 if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) | 1339 if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) |
1340 continue; | 1340 continue; |
1341 for(cnode = gnode->child; cnode; cnode = cnode->next) { | 1341 for(cnode = gnode->child; cnode; cnode = cnode->next) { |
1342 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) { | 1342 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) { |
1343 gboolean recompute = FALSE; | |
1343 for(bnode = cnode->child; bnode; bnode = bnode->next) { | 1344 for(bnode = cnode->child; bnode; bnode = bnode->next) { |
1344 if(GAIM_BLIST_NODE_IS_BUDDY(bnode) && | 1345 if(GAIM_BLIST_NODE_IS_BUDDY(bnode) && |
1345 ((GaimBuddy*)bnode)->account == account) { | 1346 ((GaimBuddy*)bnode)->account == account) { |
1347 recompute = TRUE; | |
1346 ((GaimContact*)cnode)->currentsize++; | 1348 ((GaimContact*)cnode)->currentsize++; |
1347 if(((GaimContact*)cnode)->currentsize == 1) | 1349 if(((GaimContact*)cnode)->currentsize == 1) |
1348 ((GaimGroup*)gnode)->currentsize++; | 1350 ((GaimGroup*)gnode)->currentsize++; |
1349 if(GAIM_BUDDY_IS_ONLINE((GaimBuddy*)bnode)) { | 1351 if(GAIM_BUDDY_IS_ONLINE((GaimBuddy*)bnode)) { |
1350 ((GaimContact*)cnode)->online++; | 1352 ((GaimContact*)cnode)->online++; |
1352 ((GaimGroup*)gnode)->online++; | 1354 ((GaimGroup*)gnode)->online++; |
1353 } | 1355 } |
1354 ops->update(gaimbuddylist, bnode); | 1356 ops->update(gaimbuddylist, bnode); |
1355 } | 1357 } |
1356 } | 1358 } |
1357 gaim_contact_compute_priority_buddy((GaimContact*)cnode); | 1359 if(recompute) { |
1358 ops->update(gaimbuddylist, cnode); | 1360 gaim_contact_compute_priority_buddy((GaimContact*)cnode); |
1361 ops->update(gaimbuddylist, cnode); | |
1362 } | |
1359 } else if(GAIM_BLIST_NODE_IS_CHAT(cnode) && | 1363 } else if(GAIM_BLIST_NODE_IS_CHAT(cnode) && |
1360 ((GaimBlistChat*)cnode)->account == account) { | 1364 ((GaimBlistChat*)cnode)->account == account) { |
1361 ((GaimGroup *)gnode)->online++; | 1365 ((GaimGroup *)gnode)->online++; |
1362 ((GaimGroup *)gnode)->currentsize++; | 1366 ((GaimGroup *)gnode)->currentsize++; |
1363 ops->update(gaimbuddylist, cnode); | 1367 ops->update(gaimbuddylist, cnode); |