# HG changeset patch # User Mark Doliner # Date 1208392741 0 # Node ID a7ef2c82d1255158efb6c7501945b9df098cef76 # Parent 84dc71e67a7241990e90e9d432b04acbd3f5c0c3 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* diff -r 84dc71e67a72 -r a7ef2c82d125 libpurple/protocols/msnp9/userlist.c --- 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. */