comparison 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
comparison
equal deleted inserted replaced
30375:ab7e28b1b478 30376:50d472b3d752
4065 if (purple_status_type_get_primitive(purple_status_get_type(status)) == PURPLE_STATUS_MOOD) { 4065 if (purple_status_type_get_primitive(purple_status_get_type(status)) == PURPLE_STATUS_MOOD) {
4066 aim_locate_setcaps(od, purple_caps); 4066 aim_locate_setcaps(od, purple_caps);
4067 return; 4067 return;
4068 } 4068 }
4069 4069
4070 if (od->icq) 4070 if (od->icq) {
4071 /* Set visibility */
4071 oscar_set_icq_permdeny(account); 4072 oscar_set_icq_permdeny(account);
4073 }
4072 4074
4073 /* Set the AIM-style away message for both AIM and ICQ accounts */ 4075 /* Set the AIM-style away message for both AIM and ICQ accounts */
4074 oscar_set_info_and_status(account, FALSE, NULL, TRUE, status); 4076 oscar_set_info_and_status(account, FALSE, NULL, TRUE, status);
4075 } 4077 }
4076 4078
4537 /* We don't want to change Purple's setting because it applies to all accounts */ 4539 /* We don't want to change Purple's setting because it applies to all accounts */
4538 } break; 4540 } break;
4539 } /* End of switch on curitem->type */ 4541 } /* End of switch on curitem->type */
4540 } /* End of for loop */ 4542 } /* End of for loop */
4541 4543
4542 oscar_set_icq_permdeny(account); 4544 if (od->icq) {
4545 oscar_set_icq_permdeny(account);
4546 } else {
4547 oscar_set_aim_permdeny(gc);
4548 }
4543 4549
4544 /* Activate SSI */ 4550 /* Activate SSI */
4545 /* Sending the enable causes other people to be able to see you, and you to see them */ 4551 /* Sending the enable causes other people to be able to see you, and you to see them */
4546 /* Make sure your privacy setting/invisibility is set how you want it before this! */ 4552 /* Make sure your privacy setting/invisibility is set how you want it before this! */
4547 purple_debug_info("oscar", 4553 purple_debug_info("oscar",
5170 } 5176 }
5171 5177
5172 return ret; 5178 return ret;
5173 } 5179 }
5174 5180
5175 void oscar_set_permit_deny(PurpleConnection *gc) { 5181 void oscar_set_aim_permdeny(PurpleConnection *gc) {
5176 PurpleAccount *account = purple_connection_get_account(gc); 5182 PurpleAccount *account = purple_connection_get_account(gc);
5177 OscarData *od = purple_connection_get_protocol_data(gc); 5183 OscarData *od = purple_connection_get_protocol_data(gc);
5178 5184
5179 /* 5185 /*
5180 * Conveniently there is a one-to-one mapping between the 5186 * Conveniently there is a one-to-one mapping between the