--- a/libpurple/blist.c Wed May 08 13:19:51 2013 +0200
+++ b/libpurple/blist.c Thu May 09 10:26:39 2013 +0200
@@ -763,7 +763,9 @@
- return purplebuddylist ? purplebuddylist->root : NULL;
+ g_return_val_if_fail(purplebuddylist != NULL, NULL); + return purplebuddylist->root; @@ -963,6 +965,8 @@
GHashTable *account_buddies;
g_return_if_fail(buddy != NULL);
+ g_return_if_fail(((PurpleBlistNode *)buddy)->parent != NULL); + g_return_if_fail(((PurpleBlistNode *)buddy)->parent->parent != NULL); hb = g_new(struct _purple_hbuddy, 1);
hb->name = (gchar *)purple_normalize(buddy->account, buddy->name);
@@ -1482,7 +1486,7 @@
/* Add group to blist if isn't already on it. Fixes #2752. */
if (!purple_find_group(group->name)) {
purple_blist_add_group(group,
- purple_blist_get_last_sibling(purplebuddylist->root));
+ purple_blist_get_last_sibling(purple_blist_get_root())); group = (PurpleGroup*)node->parent;
@@ -1585,7 +1589,7 @@
/* Add group to blist if isn't already on it. Fixes #2752. */
if (!purple_find_group(g->name)) {
purple_blist_add_group(g,
- purple_blist_get_last_sibling(purplebuddylist->root));
+ purple_blist_get_last_sibling(purple_blist_get_root())); c = purple_contact_new();
purple_blist_add_contact(c, g,
@@ -1835,7 +1839,7 @@
g = purple_group_new(_("Buddies"));
purple_blist_add_group(g,
- purple_blist_get_last_sibling(purplebuddylist->root));
+ purple_blist_get_last_sibling(purple_blist_get_root())); @@ -2461,7 +2465,7 @@
hb.name = (gchar *)purple_normalize(account, name);
- for (node = purplebuddylist->root; node != NULL; node = node->next) {
+ for (node = purple_blist_get_root(); node != NULL; node = node->next) { @@ -2519,7 +2523,7 @@
return prpl_info->find_blist_chat(account, name);
normname = g_strdup(purple_normalize(account, name));
- for (group = purplebuddylist->root; group != NULL; group = group->next) {
+ for (group = purple_blist_get_root(); group != NULL; group = group->next) { for (node = group->child; node != NULL; node = node->next) {
if (PURPLE_BLIST_NODE_IS_CHAT(node)) {
@@ -2643,7 +2647,7 @@
if (!ops || !ops->update)
- for (gnode = purplebuddylist->root; gnode; gnode = gnode->next) {
+ for (gnode = purple_blist_get_root(); gnode; gnode = gnode->next) { if (!PURPLE_BLIST_NODE_IS_GROUP(gnode))
for (cnode = gnode->child; cnode; cnode = cnode->next) {
@@ -2687,7 +2691,7 @@
g_return_if_fail(purplebuddylist != NULL);
- for (gnode = purplebuddylist->root; gnode; gnode = gnode->next) {
+ for (gnode = purple_blist_get_root(); gnode; gnode = gnode->next) { if (!PURPLE_BLIST_NODE_IS_GROUP(gnode))