Mercurial > pidgin
diff libpurple/protocols/msnp9/userlist.c @ 22681:a7ef2c82d125
When reciving our buddy list on MSN, add people to the permit and
deny lists before adding them to the buddylist. This fixes a bug
when our privacy setting is "allow only the people below." There
would be a very brief period of time when the buddy list thought that
the person you just added to your buddy list was blocked. This
didn't seem to matter in Pidgin, but it could matter in other UIs.
*ahem*
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Thu, 17 Apr 2008 00:39:01 +0000 |
parents | af5de2b08fe0 |
children | cc8903c59d6b |
line wrap: on
line diff
--- a/libpurple/protocols/msnp9/userlist.c Wed Apr 16 21:34:38 2008 +0000 +++ b/libpurple/protocols/msnp9/userlist.c Thu Apr 17 00:39:01 2008 +0000 @@ -362,6 +362,20 @@ passport = msn_user_get_passport(user); store = msn_user_get_friendly_name(user); + if (list_op & MSN_LIST_AL_OP) + { + /* These are users who are allowed to see our status. */ + purple_privacy_deny_remove(account, passport, TRUE); + purple_privacy_permit_add(account, passport, TRUE); + } + + if (list_op & MSN_LIST_BL_OP) + { + /* These are users who are not allowed to see our status. */ + purple_privacy_permit_remove(account, passport, TRUE); + purple_privacy_deny_add(account, passport, TRUE); + } + if (list_op & MSN_LIST_FL_OP) { GSList *c; @@ -377,20 +391,6 @@ serv_got_alias(gc, passport, store); } - if (list_op & MSN_LIST_AL_OP) - { - /* These are users who are allowed to see our status. */ - purple_privacy_deny_remove(account, passport, TRUE); - purple_privacy_permit_add(account, passport, TRUE); - } - - if (list_op & MSN_LIST_BL_OP) - { - /* These are users who are not allowed to see our status. */ - purple_privacy_permit_remove(account, passport, TRUE); - purple_privacy_deny_add(account, passport, TRUE); - } - if (list_op & MSN_LIST_RL_OP) { /* These are users who have us on their buddy list. */