Mercurial > pidgin
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 |