diff options
author | Gary Kramlich <grim@reaperworld.com> | 2008-11-02 10:54:00 +0000 |
---|---|---|
committer | Gary Kramlich <grim@reaperworld.com> | 2008-11-02 10:54:00 +0000 |
commit | a32997842e49ac0f4deaf3bfe0aa00622f41883b (patch) | |
tree | e790398f1ff02ef8efa25406fbadace15b744803 /libpurple/account.c | |
parent | 22c0ddc34523bfb0dc45637dbd74d250ad776c46 (diff) | |
download | pidgin-a32997842e49ac0f4deaf3bfe0aa00622f41883b.tar.gz |
Finish off the libpurple updates for the hidden blist structs
Diffstat (limited to 'libpurple/account.c')
-rw-r--r-- | libpurple/account.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/libpurple/account.c b/libpurple/account.c index 8196e266b6..640f29e7f3 100644 --- a/libpurple/account.c +++ b/libpurple/account.c @@ -2249,7 +2249,9 @@ purple_account_add_buddies(PurpleAccount *account, GList *buddies) /* 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); + PurpleBlistNode *parent = purple_blist_node_get_parent(node); + PurpleBlistNode *gparent = purple_blist_node_get_parent(parent); + groups = g_list_append(groups, gparent); } if (prpl_info->add_buddies != NULL) @@ -2499,23 +2501,26 @@ purple_accounts_delete(PurpleAccount *account) purple_accounts_remove(account); /* Remove this account's buddies */ - for (gnode = purple_get_blist()->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; @@ -2523,7 +2528,7 @@ purple_accounts_delete(PurpleAccount *account) } 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; |