Mercurial > pidgin
diff src/buddy.c @ 2681:37d80035e77f
[gaim-migrate @ 2694]
don't ask.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 06 Nov 2001 23:58:24 +0000 |
parents | 44773c4b0f16 |
children | f3c094e78609 |
line wrap: on
line diff
--- a/src/buddy.c Tue Nov 06 21:30:31 2001 +0000 +++ b/src/buddy.c Tue Nov 06 23:58:24 2001 +0000 @@ -999,6 +999,7 @@ * we change the group that the buddy is in */ struct group *old_g, *new_g = (struct group *)ptype; struct buddy *s = NULL, *buddy = (struct buddy *)ctype; + gboolean add = FALSE; int pos; if (buddy->gc != new_g->gc) { @@ -1015,7 +1016,7 @@ og->members = g_slist_remove(og->members, a); } else { /* we don't have this buddy yet; let's add him */ - serv_add_buddy(new_g->gc, buddy->name); + add = TRUE; } } @@ -1035,6 +1036,10 @@ } else new_g->members = g_slist_append(new_g->members, buddy); + /* we do the add after it's added locally so that prpls can find it if necessary */ + if (add) + serv_add_buddy(new_g->gc, buddy->name); + do_export(buddy->gc); if (buddy->gc != new_g->gc) { do_export(new_g->gc); @@ -1245,7 +1250,7 @@ b = (struct buddy *)type; g = find_group_by_buddy(b->gc, b->name); gct = b->gc; - serv_remove_buddy(b->gc, b->name); + serv_remove_buddy(b->gc, b->name, g->name); remove_buddy(b->gc, g, b); gtk_ctree_remove_node(GTK_CTREE(edittree), node); do_export(gct);