changeset 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 84dc71e67a72
children 8f4f88e03efb
files libpurple/protocols/msnp9/userlist.c
diffstat 1 files changed, 14 insertions(+), 14 deletions(-) [+]
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. */