# HG changeset patch # User Eric Warmenhoven # Date 959803116 0 # Node ID 6e609d42f767ecaf88ea391b36e66773eeb13e3d # Parent 8bbc269d5b8d9ab720e6159c848a2d33e9667645 [gaim-migrate @ 298] Hopefully signing on will work a little better now. At least I know what's causing it. committer: Tailor Script diff -r 8bbc269d5b8d -r 6e609d42f767 libfaim/CHANGES.gaim --- a/libfaim/CHANGES.gaim Wed May 31 18:06:09 2000 +0000 +++ b/libfaim/CHANGES.gaim Wed May 31 19:58:36 2000 +0000 @@ -1,3 +1,9 @@ + +Wed May 31 19:15:38 UTC 2000 EWarmenhoven + - Signon works better; oscar_callback takes an aim_conn_t instead of an + aim_session_t now to try and prevent reported connection errors. + - Setting the latency before creating the buddy list seems to remove + some signon problems, especially if you have a larger buddy list. Wed May 31 02:50:36 UTC 2000 EWarmenhoven - Good fun things here. Sometimes I think Adam does things just to make diff -r 8bbc269d5b8d -r 6e609d42f767 libfaim/README.gaim --- a/libfaim/README.gaim Wed May 31 18:06:09 2000 +0000 +++ b/libfaim/README.gaim Wed May 31 19:58:36 2000 +0000 @@ -77,6 +77,14 @@ "Allow anyone" works all the time (?) and "Deny some" doesn't work some of the time. That's a bug. +- Sometimes signing on doesn't work completely correctly. (If you want a bad +fix for it, comment out the lines where it imports your buddy list in oscar.c, +and import it manually.) + +- If you receive a message that's too large, gaim segfaults. I haven't watched +this in gdb or gotten a backtrace on it, so I'm not exactly sure what the +problem is. + - Gaim/TOC can do file transfers, but Gaim/Faim cannot. This is not because there is any difference in the two protocols as far as the actual transfer is concerned. The only thing preventing this is it is currently not possible to diff -r 8bbc269d5b8d -r 6e609d42f767 src/oscar.c --- a/src/oscar.c Wed May 31 18:06:09 2000 +0000 +++ b/src/oscar.c Wed May 31 19:58:36 2000 +0000 @@ -61,24 +61,24 @@ static void oscar_callback(gpointer data, gint source, GdkInputCondition condition) { - struct aim_session_t *sess = (struct aim_session_t *)data; + struct aim_conn_t *conn = (struct aim_conn_t *)data; if (condition & GDK_INPUT_EXCEPTION) { signoff(); hide_login_progress("Disconnected."); - aim_logoff(sess); + aim_logoff(gaim_sess); gdk_input_remove(inpa); return; } if (condition & GDK_INPUT_READ) { - if (aim_get_command(sess, gaim_conn) < 0) { + if (aim_get_command(gaim_sess, conn) < 0) { debug_print("connection error!\n"); signoff(); hide_login_progress("Disconnected."); - aim_logoff(sess); + aim_logoff(gaim_sess); gdk_input_remove(inpa); } else { - aim_rxdispatch(sess); + aim_rxdispatch(gaim_sess); } } } @@ -136,9 +136,8 @@ gaim_auth_server_ready, 0); aim_send_login(sess, conn, username, password, &info); - gaim_conn = conn; inpa = gdk_input_add(conn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, - oscar_callback, sess); + oscar_callback, conn); u = find_user(username); @@ -226,7 +225,6 @@ hide_login_progress("Could Not Connect"); return -1; } - gaim_conn = bosconn; aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_ACK, AIM_CB_ACK_ACK, NULL, 0); aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_SERVERREADY, gaim_server_ready, 0); @@ -246,8 +244,9 @@ aim_conn_addhandler(sess, bosconn, AIM_CB_FAM_GEN, AIM_CB_GEN_MOTD, gaim_parse_motd, 0); aim_auth_sendcookie(sess, bosconn, sess->logininfo.cookie); + gaim_conn = bosconn; inpa = gdk_input_add(bosconn->fd, GDK_INPUT_READ | GDK_INPUT_EXCEPTION, - oscar_callback, sess); + oscar_callback, bosconn); set_login_progress(4, "Connection established, cookie sent"); return 1; } @@ -324,6 +323,7 @@ aim_bos_clientready(sess, command->conn); aim_bos_reqservice(sess, command->conn, AIM_CONN_TYPE_CHATNAV); + aim_conn_setlatency(command->conn, 1); debug_print("Roger that, all systems go\n"); #ifdef USE_APPLET @@ -348,8 +348,6 @@ if (bud_list_cache_exists()) do_import(NULL, 0); - aim_conn_setlatency(command->conn, 1); - break; case 0x7: /* Authorizer */ {