# HG changeset patch # User Stu Tomlinson # Date 1103593710 0 # Node ID 3e4ecbdf8d0a363da42309ffb8d7d050139437cf # Parent 6a043ae92db62ef367583fb1cd81accb8ea7ff5c [gaim-migrate @ 11638] Stuff compiles again, if that's what you wanted stuff to do. It works a bit too. I fixed one crash in oscar, only to reveal another that I didnn't fix (tooltips). Most protocols still need updating to actually log in in the specified state, TCL needs some love for gaim_account_connect, perl probably does too but that needs more love anyway. The reconnect plugin could be more intelligent too, as could gaim-remote. committer: Tailor Script diff -r 6a043ae92db6 -r 3e4ecbdf8d0a plugins/autorecon.c --- a/plugins/autorecon.c Sun Dec 19 20:32:32 2004 +0000 +++ b/plugins/autorecon.c Tue Dec 21 01:48:30 2004 +0000 @@ -140,7 +140,8 @@ info->timeout = 0; gaim_debug(GAIM_DEBUG_INFO, "autorecon", "calling gaim_account_connect\n"); - gaim_account_connect(account); + /* XXX: make this remember the status from disconnect */ + gaim_account_connect(account, gaim_account_get_status(account, "online")); gaim_debug(GAIM_DEBUG_INFO, "autorecon", "done calling gaim_account_connect\n"); return FALSE; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a plugins/gaim-remote/remote.c --- a/plugins/gaim-remote/remote.c Sun Dec 19 20:32:32 2004 +0000 +++ b/plugins/gaim-remote/remote.c Tue Dec 21 01:48:30 2004 +0000 @@ -392,7 +392,8 @@ memcpy(&id, data, sizeof(id)); account = g_list_nth_data(gaim_accounts_get_all(), id); if (account) - gaim_account_connect(account); + /* XXX: someone might want to extend this to allow connecting with a different status */ + gaim_account_connect(account, gaim_account_get_status(account, "online")); /* don't need to do anything here because the UI will get updates from other handlers */ break; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a plugins/tcl/tcl_cmds.c --- a/plugins/tcl/tcl_cmds.c Sun Dec 19 20:32:32 2004 +0000 +++ b/plugins/tcl/tcl_cmds.c Tue Dec 21 01:48:30 2004 +0000 @@ -121,7 +121,9 @@ if (gaim_account_is_connected(account)) Tcl_SetIntObj(result, (int)gaim_account_get_connection(account)); else - Tcl_SetIntObj(result, (int)gaim_account_connect(account)); +#warning Someone who knows TCL (Ethan!) fix this so TCL plugins can specify the status + Tcl_SetIntObj(result, (int)gaim_account_connect(account, + gaim_account_get_status(account, "online"))); break; case CMD_ACCOUNT_CONNECTION: if (objc != 3) { diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/gg/gg.c --- a/src/protocols/gg/gg.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/gg/gg.c Tue Dec 21 01:48:30 2004 +0000 @@ -1,6 +1,6 @@ /* * gaim - Gadu-Gadu Protocol Plugin - * $Id: gg.c 11624 2004-12-17 23:30:38Z thekingant $ + * $Id: gg.c 11638 2004-12-21 01:48:30Z nosnilmot $ * * Copyright (C) 2001 Arkadiusz Mi¶kiewicz * @@ -841,7 +841,7 @@ } } -static void agg_login(GaimAccount *account) +static void agg_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc = gaim_account_get_connection(account); struct agg_data *gd = gc->proto_data = g_new0(struct agg_data, 1); diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/irc/irc.c --- a/src/protocols/irc/irc.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/irc/irc.c Tue Dec 21 01:48:30 2004 +0000 @@ -44,7 +44,7 @@ static GList *irc_status_types(GaimAccount *account); static GList *irc_actions(GaimPlugin *plugin, gpointer context); /* static GList *irc_chat_info(GaimConnection *gc); */ -static void irc_login(GaimAccount *account); +static void irc_login(GaimAccount *account, GaimStatus *status); static void irc_login_cb_ssl(gpointer data, GaimSslConnection *gsc, GaimInputCondition cond); static void irc_login_cb(gpointer data, gint source, GaimInputCondition cond); static void irc_ssl_connect_failure(GaimSslConnection *gsc, GaimSslErrorType error, gpointer data); @@ -225,7 +225,7 @@ return defaults; } -static void irc_login(GaimAccount *account) +static void irc_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc; struct irc_conn *irc; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/jabber/jabber.c --- a/src/protocols/jabber/jabber.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/jabber/jabber.c Tue Dec 21 01:48:30 2004 +0000 @@ -345,7 +345,7 @@ static void -jabber_login(GaimAccount *account) +jabber_login(GaimAccount *account, GaimStatus *status) { int rc; GaimConnection *gc = gaim_account_get_connection(account); diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/msn/msn.c --- a/src/protocols/msn/msn.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/msn/msn.c Tue Dec 21 01:48:30 2004 +0000 @@ -650,7 +650,7 @@ } static void -msn_login(GaimAccount *account) +msn_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc; MsnSession *session; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/napster/napster.c --- a/src/protocols/napster/napster.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/napster/napster.c Tue Dec 21 01:48:30 2004 +0000 @@ -503,7 +503,7 @@ gc->inpa = gaim_input_add(ndata->fd, GAIM_INPUT_READ, nap_callback, gc); } -static void nap_login(GaimAccount *account) +static void nap_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc = gaim_account_get_connection(account); diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/novell/novell.c --- a/src/protocols/novell/novell.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/novell/novell.c Tue Dec 21 01:48:30 2004 +0000 @@ -2122,7 +2122,7 @@ ******************************************************************************/ static void -novell_login(GaimAccount * account) +novell_login(GaimAccount * account, GaimStatus *status) { GaimConnection *gc; NMUser *user = NULL; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/oscar/oscar.c --- a/src/protocols/oscar/oscar.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/oscar/oscar.c Tue Dec 21 01:48:30 2004 +0000 @@ -5583,14 +5583,16 @@ if (gc) od = (OscarData *)gc->proto_data; - - if (od && od->rights.maxawaymsglen == 0) + + if ((od == NULL) || (od->rights.maxawaymsglen == 0)) { gaim_notify_warning(gc, NULL, _("Unable to set AIM away message."), _("You have probably requested to set your " "away message before the login procedure " "completed. You remain in a \"present\" " "state; try setting it again when you are " "fully connected.")); + return; + } if (primitive == GAIM_STATUS_AVAILABLE) { aim_setextstatus(od->sess, AIM_ICQ_STATE_NORMAL); diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/rendezvous/rendezvous.c --- a/src/protocols/rendezvous/rendezvous.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/rendezvous/rendezvous.c Tue Dec 21 01:48:30 2004 +0000 @@ -605,7 +605,7 @@ } static void -rendezvous_prpl_login(GaimAccount *account) +rendezvous_prpl_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc = gaim_account_get_connection(account); RendezvousData *rd; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/silc/silc.c --- a/src/protocols/silc/silc.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/silc/silc.c Tue Dec 21 01:48:30 2004 +0000 @@ -243,7 +243,7 @@ } static void -silcgaim_login(GaimAccount *account) +silcgaim_login(GaimAccount *account, GaimStatus *status) { SilcGaim sg; SilcClient client; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/toc/toc.c --- a/src/protocols/toc/toc.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/toc/toc.c Tue Dec 21 01:48:30 2004 +0000 @@ -124,7 +124,7 @@ /* ok. this function used to take username/password, and return 0 on success. * now, it takes username/password, and returns NULL on error or a new gaim_connection * on success. */ -static void toc_login(GaimAccount *account) +static void toc_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc; struct toc_data *tdt; @@ -1162,8 +1162,9 @@ } #endif -static void toc_set_away(GaimConnection *gc, const char *state, const char *message) +static void toc_set_status(GaimAccount *account, GaimStatus *status) { +#if 0 /* do we care about TOC any more? */ char buf[BUF_LEN * 2]; if (gc->away) { g_free(gc->away); @@ -1178,6 +1179,7 @@ } else g_snprintf(buf, MSG_LEN, "toc_set_away \"\""); sflap_send(g, buf, -1, TYPE_DATA); +#endif } static void toc_set_info(GaimConnection *g, const char *info) @@ -1534,9 +1536,13 @@ toc_set_permit_deny(gc); } -static GList *toc_away_states(GaimConnection *gc) +static GList *toc_away_states(GaimAccount *account) { +#if 0 /* do we care about TOC any more? */ return g_list_append(NULL, GAIM_AWAY_CUSTOM); +#else + return NULL; +#endif } static void @@ -2134,7 +2140,7 @@ toc_set_info, /* set_info */ NULL, /* send_typing */ toc_get_info, /* get_info */ - toc_set_away, /* set_away */ + toc_set_status, /* set_away */ toc_set_idle, /* set_idle */ toc_change_passwd, /* change_passwd */ toc_add_buddy, /* add_buddy */ diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/trepia/trepia.c --- a/src/protocols/trepia/trepia.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/trepia/trepia.c Tue Dec 21 01:48:30 2004 +0000 @@ -1042,7 +1042,7 @@ } static void -trepia_login(GaimAccount *account) +trepia_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc; TrepiaSession *session; diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/yahoo/yahoo.c --- a/src/protocols/yahoo/yahoo.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/yahoo/yahoo.c Tue Dec 21 01:48:30 2004 +0000 @@ -2222,7 +2222,7 @@ static void yahoo_login(GaimAccount *account, GaimStatus *status) { GaimConnection *gc = gaim_account_get_connection(account); struct yahoo_data *yd = gc->proto_data = g_new0(struct yahoo_data, 1); - char *id = gaim_status_get_id(status); + const char *id = gaim_status_get_id(status); gc->flags |= GAIM_CONNECTION_HTML | GAIM_CONNECTION_NO_BGCOLOR | GAIM_CONNECTION_NO_URLDESC; gaim_connection_update_progress(gc, _("Connecting"), 1, 2); diff -r 6a043ae92db6 -r 3e4ecbdf8d0a src/protocols/zephyr/zephyr.c --- a/src/protocols/zephyr/zephyr.c Sun Dec 19 20:32:32 2004 +0000 +++ b/src/protocols/zephyr/zephyr.c Tue Dec 21 01:48:30 2004 +0000 @@ -1461,7 +1461,7 @@ return EXPOSE_REALMVIS; } -static void zephyr_login(GaimAccount * account) +static void zephyr_login(GaimAccount * account, GaimStatus *status) { GaimConnection *gc; zephyr_account *zephyr;