diff libpurple/protocols/oscar/oscar.c @ 30376:50d472b3d752

Fixed a bug I accidentally introduced in fb1ab831dedebf45ea50b6f87bfc00265a0115ef. We now have two different set_perm_deny()'s with different semantics (the ICQ one controls visibility, the AIM one, blocking), but purple_ssi_parselist() always called the ICQ one, no matter what is the current account. I've also changed the names of functions to make the distinction clearer.
author ivan.komarov@soc.pidgin.im
date Thu, 01 Jul 2010 18:56:17 +0000
parents 4e804413b12b
children b8f47c07ca42 a347a4cd1caf
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oscar.c	Thu Jul 01 17:15:37 2010 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Thu Jul 01 18:56:17 2010 +0000
@@ -4067,8 +4067,10 @@
 		return;
 	}
 
-	if (od->icq)
+	if (od->icq) {
+		/* Set visibility */
 		oscar_set_icq_permdeny(account);
+	}
 
 	/* Set the AIM-style away message for both AIM and ICQ accounts */
 	oscar_set_info_and_status(account, FALSE, NULL, TRUE, status);
@@ -4539,7 +4541,11 @@
 		} /* End of switch on curitem->type */
 	} /* End of for loop */
 
-	oscar_set_icq_permdeny(account);
+	if (od->icq) {
+		oscar_set_icq_permdeny(account);
+	} else {
+		oscar_set_aim_permdeny(gc);
+	}
 
 	/* Activate SSI */
 	/* Sending the enable causes other people to be able to see you, and you to see them */
@@ -5172,7 +5178,7 @@
 	return ret;
 }
 
-void oscar_set_permit_deny(PurpleConnection *gc) {
+void oscar_set_aim_permdeny(PurpleConnection *gc) {
 	PurpleAccount *account = purple_connection_get_account(gc);
 	OscarData *od = purple_connection_get_protocol_data(gc);