From: Sean E. <sea...@us...> - 2005-03-01 21:16:52
|
Update of /cvsroot/gaim/gaim/src/protocols/irc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28219/protocols/irc Modified Files: irc.c Log Message: Made IRC, Jabber, MSN, and ICQ not crash on login. Note that these don't necessarily work the way they should yet, they just don't crash. Index: irc.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/irc/irc.c,v retrieving revision 1.250 retrieving revision 1.251 diff -u -d -p -r1.250 -r1.251 --- irc.c 22 Feb 2005 16:54:56 -0000 1.250 +++ irc.c 1 Mar 2005 21:15:55 -0000 1.251 @@ -434,19 +434,24 @@ static void irc_get_info(GaimConnection static void irc_set_status(GaimAccount *account, GaimStatus *status) { GaimConnection *gc = gaim_account_get_connection(account); - struct irc_conn *irc = gc->proto_data; + struct irc_conn *irc; const char *args[1]; const char *status_id = gaim_status_get_id(status); + if (gc) + irc = gc->proto_data; + if (!gaim_status_is_active(status)) return; args[0] = NULL; - if (!strcmp(status_id, "away")) + if (strcmp(status_id, "offline") && !gc) { + gaim_account_connect(account, status); + } else if (!strcmp(status_id, "away")) { args[0] = gaim_status_get_attr_string(status, "message"); - - irc_cmd_away(irc, "away", NULL, args); + irc_cmd_away(irc, "away", NULL, args); + } } static void irc_add_buddy(GaimConnection *gc, GaimBuddy *buddy, GaimGroup *group) |