# HG changeset patch # User Jeffrey Connelly # Date 1188020412 0 # Node ID 93dfc16efbda6c3afc0139fb0b0525f6ebed08ea # Parent fbdabdd3839aa2b4a42adf439e37f868c5b5f1c7 If purple_blist_add_{chat,buddy} is called with a group or chat that isn't on the blist, add it at the beginning, similar to how we create and add a default group, if no group is given. Following discussion from http://pidgin.im/pipermail/devel/2007-August/002920.html on an earlier revision, fea00266488c85ba94e735d5885d991298e8f9d7. diff -r fbdabdd3839a -r 93dfc16efbda libpurple/blist.c --- a/libpurple/blist.c Fri Aug 24 15:58:38 2007 +0000 +++ b/libpurple/blist.c Sat Aug 25 05:40:12 2007 +0000 @@ -1191,8 +1191,11 @@ purple_blist_add_group(group, purple_blist_get_last_sibling(purplebuddylist->root)); } else { - /* Fail if tried to add buddy to a group that isn't on the blist. #2752. */ - g_return_if_fail(purple_find_group(group->name)); + /* 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)); + } } } else { group = (PurpleGroup*)node->parent; @@ -1287,9 +1290,11 @@ g = (PurpleGroup *)((PurpleBlistNode *)c)->parent; } else { if (group) { - /* Fail if trying to add buddy to a group that is not on the buddy list. - * Fix for #2752. */ - g_return_if_fail(purple_find_group(group->name)); + /* Add chat 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)); + } g = group; } else {