# HG changeset patch # User Mark Doliner # Date 1215114811 0 # Node ID a2f63b74fe31ece9c8b115101b2e2efb797ea9ac # Parent ab1f79d3ceeb63829bb61b61de9a7b71b34db8f7 Alright, I'm getting rid of this "groups" thing for the reason listed in the comment. I really don't see how this could be correct, and it's possible it's causing problem discussed in this thread: http://pidgin.im/pipermail/devel/2008-June/006191.html diff -r ab1f79d3ceeb -r a2f63b74fe31 libpurple/protocols/jabber/roster.c --- a/libpurple/protocols/jabber/roster.c Thu Jul 03 17:30:30 2008 +0000 +++ b/libpurple/protocols/jabber/roster.c Thu Jul 03 19:53:31 2008 +0000 @@ -316,7 +316,6 @@ { JabberStream *js = gc->proto_data; char *who; - GSList *groups = NULL; JabberBuddy *jb; JabberBuddyResource *jbr; char *my_bare_jid; @@ -329,20 +328,7 @@ jb = jabber_buddy_find(js, buddy->name, FALSE); - /* - * For some reason if we're waiting for our subscription request - * to be approved and we try to add the buddy to another group - * then we remove the buddy from the old group. I don't understand - * the rationale for this, can someone please explain it? It seems - * like we should pass NULL as the groups parameter to - * jabber_roster_update(). - */ - if(!jb || !(jb->subscription & JABBER_SUB_TO)) { - groups = g_slist_append(groups, group->name); - } - - jabber_roster_update(js, who, groups); - g_slist_free(groups); + jabber_roster_update(js, who, NULL); my_bare_jid = g_strdup_printf("%s@%s", js->user->node, js->user->domain); if(!strcmp(who, my_bare_jid)) {