Mercurial > pidgin.yaz
diff libpurple/account.c @ 25368:1260a3fb60f4
propagate from branch 'im.pidgin.pidgin' (head b8d6086aef6b2e65d86e8ce60220ab7f460d5079)
to branch 'im.pidgin.pidgin.next.minor' (head c165595260a2efa0ca23704ada46a303e0412e19)
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 12 Dec 2008 20:03:58 +0000 |
parents | 98ec72f8f3cc 367b3ddcf5c3 |
children | a6e3cb32cdd2 |
line wrap: on
line diff
--- a/libpurple/account.c Fri Dec 12 17:18:59 2008 +0000 +++ b/libpurple/account.c Fri Dec 12 20:03:58 2008 +0000 @@ -2262,8 +2262,8 @@ /* Make a list of what group each buddy is in */ for (cur = buddies; cur != NULL; cur = cur->next) { - PurpleBlistNode *node = cur->data; - groups = g_list_append(groups, node->parent->parent); + PurpleBuddy *buddy = cur->data; + groups = g_list_append(groups, purple_buddy_get_group(buddy)); } if (prpl_info->add_buddies != NULL) @@ -2513,23 +2513,26 @@ purple_accounts_remove(account); /* Remove this account's buddies */ - for (gnode = purple_blist_get_root(); gnode != NULL; gnode = gnode->next) { + for (gnode = purple_blist_get_root(); + gnode != NULL; + gnode = purple_blist_node_get_sibling_next(gnode)) + { if (!PURPLE_BLIST_NODE_IS_GROUP(gnode)) continue; - cnode = gnode->child; + cnode = purple_blist_node_get_first_child(gnode); while (cnode) { - PurpleBlistNode *cnode_next = cnode->next; + PurpleBlistNode *cnode_next = purple_blist_node_get_sibling_next(cnode); if(PURPLE_BLIST_NODE_IS_CONTACT(cnode)) { - bnode = cnode->child; + bnode = purple_blist_node_get_first_child(cnode); while (bnode) { - PurpleBlistNode *bnode_next = bnode->next; + PurpleBlistNode *bnode_next = purple_blist_node_get_sibling_next(bnode); if (PURPLE_BLIST_NODE_IS_BUDDY(bnode)) { PurpleBuddy *b = (PurpleBuddy *)bnode; - if (b->account == account) + if (purple_buddy_get_account(b) == account) purple_blist_remove_buddy(b); } bnode = bnode_next; @@ -2537,7 +2540,7 @@ } else if (PURPLE_BLIST_NODE_IS_CHAT(cnode)) { PurpleChat *c = (PurpleChat *)cnode; - if (c->account == account) + if (purple_chat_get_account(c) == account) purple_blist_remove_chat(c); } cnode = cnode_next;