Mercurial > pidgin
changeset 2067:a23832262ca2
[gaim-migrate @ 2077]
god damn it mid
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Fri, 13 Jul 2001 18:19:38 +0000 |
parents | 05df89293018 |
children | e38eb507b261 |
files | src/oscar.c |
diffstat | 1 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/oscar.c Fri Jul 13 16:49:22 2001 +0000 +++ b/src/oscar.c Fri Jul 13 18:19:38 2001 +0000 @@ -91,6 +91,8 @@ GSList *direct_ims; GSList *getfiles; GSList *hasicons; + + gboolean killme; }; struct chat_connection { @@ -351,6 +353,8 @@ } else { if (aim_get_command(odata->sess, conn) >= 0) { aim_rxdispatch(odata->sess); + if (odata->killme) + signoff(gc); } else { if ((conn->type == AIM_CONN_TYPE_BOS) || !(aim_getconn_type(odata->sess, AIM_CONN_TYPE_BOS))) { @@ -588,6 +592,7 @@ struct aim_user *user; struct gaim_connection *gc = sess->aux_data; + struct oscar_data *od = gc->proto_data; user = gc->user; port = user->proto_opt[USEROPT_AUTHPORT][0] ? atoi(user->proto_opt[USEROPT_AUTHPORT]) : FAIM_LOGIN_PORT, @@ -642,8 +647,7 @@ } debug_printf("Login Error Code 0x%04x\n", errorcode); debug_printf("Error URL: %s\n", errurl); - aim_conn_kill(sess, &command->conn); - signoff(gc); + od->killme = TRUE; return 1; } @@ -667,8 +671,8 @@ bosconn = aim_newconn(sess, AIM_CONN_TYPE_BOS, NULL); if (bosconn == NULL) { hide_login_progress(gc, _("Internal Error")); - signoff(gc); - return 1; + od->killme = TRUE; + return 0; } aim_conn_addhandler(sess, bosconn, 0x0009, 0x0003, gaim_bosrights, 0); @@ -710,8 +714,8 @@ g_free(host); if (bosconn->fd < 0) { hide_login_progress(gc, _("Could Not Connect")); - signoff(gc); - return 1; + od->killme = TRUE; + return 0; } aim_auth_sendcookie(sess, bosconn, cookie); gdk_input_remove(gc->inpa);