pidgin: 946d948a: When reciving our buddy list on MSN, add...

markdoliner at pidgin.im markdoliner at pidgin.im
Wed Apr 16 20:40:42 EDT 2008


-----------------------------------------------------------------
Revision: 946d948a1aa4270fa46dabca767e9d727d4519eb
Ancestor: 7b8c78270e8505ab07661388a27be78911fe2856
Author: markdoliner at pidgin.im
Date: 2008-04-17T00:39:01
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/946d948a1aa4270fa46dabca767e9d727d4519eb

Modified files:
        libpurple/protocols/msnp9/userlist.c

ChangeLog: 

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*

-------------- next part --------------
============================================================
--- libpurple/protocols/msnp9/userlist.c	002c944871d49e9117c2bd4d9f970a9a907aba37
+++ libpurple/protocols/msnp9/userlist.c	b3a49019423820f1eaff69e03e2a494be8a9f62c
@@ -362,6 +362,20 @@ msn_got_lst_user(MsnSession *session, Ms
 	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 @@ msn_got_lst_user(MsnSession *session, Ms
 		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. */


More information about the Commits mailing list