comparison src/blist.c @ 6957:166e42b26654

[gaim-migrate @ 7504] might as well speed up signoff while i'm at it committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Wed, 24 Sep 2003 23:28:03 +0000
parents a084d95d59dc
children 7e18efe2944a
comparison
equal deleted inserted replaced
6956:a084d95d59dc 6957:166e42b26654
1382 for(gnode = gaimbuddylist->root; gnode; gnode = gnode->next) { 1382 for(gnode = gaimbuddylist->root; gnode; gnode = gnode->next) {
1383 if(!GAIM_BLIST_NODE_IS_GROUP(gnode)) 1383 if(!GAIM_BLIST_NODE_IS_GROUP(gnode))
1384 continue; 1384 continue;
1385 for(cnode = gnode->child; cnode; cnode = cnode->next) { 1385 for(cnode = gnode->child; cnode; cnode = cnode->next) {
1386 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) { 1386 if(GAIM_BLIST_NODE_IS_CONTACT(cnode)) {
1387 gboolean recompute = FALSE;
1387 for(bnode = cnode->child; bnode; bnode = bnode->next) { 1388 for(bnode = cnode->child; bnode; bnode = bnode->next) {
1388 if(!GAIM_BLIST_NODE_IS_BUDDY(bnode)) 1389 if(!GAIM_BLIST_NODE_IS_BUDDY(bnode))
1389 continue; 1390 continue;
1390 if(account == ((GaimBuddy *)bnode)->account) { 1391 if(account == ((GaimBuddy *)bnode)->account) {
1392 recompute = TRUE;
1391 if(((GaimBuddy*)bnode)->present == GAIM_BUDDY_ONLINE || 1393 if(((GaimBuddy*)bnode)->present == GAIM_BUDDY_ONLINE ||
1392 ((GaimBuddy*)bnode)->present == GAIM_BUDDY_SIGNING_ON) { 1394 ((GaimBuddy*)bnode)->present == GAIM_BUDDY_SIGNING_ON) {
1393 ((GaimContact*)cnode)->online--; 1395 ((GaimContact*)cnode)->online--;
1394 if(((GaimContact*)cnode)->online == 0) 1396 if(((GaimContact*)cnode)->online == 0)
1395 ((GaimGroup*)gnode)->online--; 1397 ((GaimGroup*)gnode)->online--;
1402 1404
1403 ((GaimBuddy*)bnode)->uc = 0; 1405 ((GaimBuddy*)bnode)->uc = 0;
1404 ((GaimBuddy*)bnode)->idle = 0; 1406 ((GaimBuddy*)bnode)->idle = 0;
1405 ((GaimBuddy*)bnode)->evil = 0; 1407 ((GaimBuddy*)bnode)->evil = 0;
1406 1408
1407 gaim_contact_compute_priority_buddy((GaimContact*)cnode);
1408 1409
1409 if(ops) 1410 if(ops)
1410 ops->remove(gaimbuddylist, bnode); 1411 ops->remove(gaimbuddylist, bnode);
1411 } 1412 }
1412 } 1413 }
1414 gaim_contact_compute_priority_buddy((GaimContact*)cnode);
1413 } else if(GAIM_BLIST_NODE_IS_CHAT(cnode) && 1415 } else if(GAIM_BLIST_NODE_IS_CHAT(cnode) &&
1414 ((GaimBlistChat*)cnode)->account == account) { 1416 ((GaimBlistChat*)cnode)->account == account) {
1415 ((GaimGroup*)gnode)->currentsize--; 1417 ((GaimGroup*)gnode)->currentsize--;
1416 ((GaimGroup*)gnode)->online--; 1418 ((GaimGroup*)gnode)->online--;
1417 if(ops) 1419 if(ops)