Mercurial > pidgin
comparison libpurple/protocols/jabber/roster.c @ 28326:5c61429ea529
jabber: Fix removing a buddy with a pending subscription.
deryni noticed that an attempt to remove the buddy would put them in
the Buddies group (a second removal succeeded).
ejabberd responds to the initial removal with a roster push that looks like:
<item ask='subscribe' subscription='remove' jid='user@example.com'/>
The subscribe was munging up this check. The user is no longer listed in
the roster, though.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Mon, 05 Oct 2009 18:10:08 +0000 |
parents | c42d5c23a9e8 |
children | 05867b153f03 |
comparison
equal
deleted
inserted
replaced
28325:f7d7cf32a715 | 28326:5c61429ea529 |
---|---|
227 if(purple_strequal(ask, "subscribe")) | 227 if(purple_strequal(ask, "subscribe")) |
228 jb->subscription |= JABBER_SUB_PENDING; | 228 jb->subscription |= JABBER_SUB_PENDING; |
229 else | 229 else |
230 jb->subscription &= ~JABBER_SUB_PENDING; | 230 jb->subscription &= ~JABBER_SUB_PENDING; |
231 | 231 |
232 if(jb->subscription == JABBER_SUB_REMOVE) { | 232 if(jb->subscription & JABBER_SUB_REMOVE) { |
233 remove_purple_buddies(js, jid); | 233 remove_purple_buddies(js, jid); |
234 } else { | 234 } else { |
235 GSList *groups = NULL; | 235 GSList *groups = NULL; |
236 gboolean seen_empty = FALSE; | 236 gboolean seen_empty = FALSE; |
237 | 237 |