--- a/libpurple/blistnodetypes.c Tue Apr 29 04:05:13 2014 +0530 +++ b/libpurple/blistnodetypes.c Sun May 04 06:28:56 2014 +0530 @@ -531,7 +531,7 @@ g_return_val_if_fail(PURPLE_IS_BUDDY(buddy), NULL); if (PURPLE_BLIST_NODE(buddy)->parent == NULL) - return NULL; + return purple_blist_get_default_group(); return PURPLE_GROUP(PURPLE_BLIST_NODE(buddy)->parent->parent); } @@ -1713,8 +1713,12 @@ { PurpleGroup *group; - g_return_val_if_fail(name != NULL, NULL); - g_return_val_if_fail(*name != '\0', NULL); + if (name == NULL || name[0] == '\0') + name = PURPLE_BLIST_DEFAULT_GROUP_NAME; + if (g_strcmp0(name, "Buddies") == 0) + name = PURPLE_BLIST_DEFAULT_GROUP_NAME; + if (g_strcmp0(name, _purple_blist_get_localized_default_group_name()) == 0) + name = PURPLE_BLIST_DEFAULT_GROUP_NAME; group = purple_blist_find_group(name); if (group != NULL)