Mercurial > pidgin.yaz
diff libpurple/protocols/yahoo/yahoo.c @ 20589:5723dbc6212d
Clear the password consistently when we get a "Signed-On elsewhere" or a "Invalid Password" disconnection. Disconnection reason codes will take care of this in the core, but until then, this is ok. Fixes #3204.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Fri, 21 Sep 2007 02:46:27 +0000 |
parents | e5b827037534 |
children | 591267f6f1d5 d6bcff4b4007 13ab08434a50 |
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/yahoo.c Fri Sep 21 01:49:27 2007 +0000 +++ b/libpurple/protocols/yahoo/yahoo.c Fri Sep 21 02:46:27 2007 +0000 @@ -202,6 +202,8 @@ if (pkt->service == YAHOO_SERVICE_LOGOFF && pkt->status == -1) { gc->wants_to_die = TRUE; + if (!purple_account_get_remember_password(account)) + purple_account_set_password(account, NULL); purple_connection_error(gc, _("You have signed on from another location.")); return; } @@ -4087,12 +4089,12 @@ { return TRUE; } - + gboolean yahoo_send_attention(PurpleConnection *gc, const char *username, guint type) { PurpleConversation *c; - c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, + c = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, username, gc->account); g_return_val_if_fail(c != NULL, FALSE); @@ -4117,7 +4119,7 @@ attn->incoming_description = _("%s has buzzed you!"); attn->outgoing_description = _("Buzzing %s..."); list = g_list_append(list, attn); - } + } return list; }