From: Stu T. <nos...@us...> - 2005-05-09 12:44:11
|
Update of /cvsroot/gaim/gaim/src/protocols/msn In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29260 Modified Files: Tag: oldstatus session.c state.c Log Message: Fix Fedora bug 149849 - Gaim's msn will fail to connect if you set it to "away" while connecting Index: session.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/msn/session.c,v retrieving revision 1.24.2.20 retrieving revision 1.24.2.21 diff -u -d -p -r1.24.2.20 -r1.24.2.21 --- session.c 2 Apr 2005 16:36:06 -0000 1.24.2.20 +++ session.c 9 May 2005 12:43:36 -0000 1.24.2.21 @@ -414,10 +414,11 @@ msn_session_finish_login(MsnSession *ses msn_user_set_buddy_icon(session->user, gaim_account_get_buddy_icon(session->account)); - msn_change_status(session, MSN_ONLINE); + session->logged_in = TRUE; + + msn_change_status(session, session->state == 0 ? MSN_ONLINE : session->state); gaim_connection_set_state(gc, GAIM_CONNECTED); - session->logged_in = TRUE; /* Sync users */ msn_session_sync_users(session); Index: state.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/protocols/msn/state.c,v retrieving revision 1.8.2.1 retrieving revision 1.8.2.2 diff -u -d -p -r1.8.2.1 -r1.8.2.2 --- state.c 7 Jan 2005 02:48:07 -0000 1.8.2.1 +++ state.c 9 May 2005 12:43:36 -0000 1.8.2.2 @@ -52,6 +52,13 @@ msn_change_status(MsnSession *session, M cmdproc = session->notification->cmdproc; user = session->user; state_text = msn_state_get_text(state); + session->state = state; + + /* If we're not logged in yet, don't send the status to the server, + * it will be sent when login completes + */ + if (!session->logged_in) + return; msnobj = msn_user_get_object(user); @@ -69,12 +76,6 @@ msn_change_status(MsnSession *session, M msn_cmdproc_send(cmdproc, "CHG", "%s %d %s", state_text, MSN_CLIENT_ID, gaim_url_encode(msnobj_str)); - /* - * We need to set this just in case someone tries to set icon - * quickly on us - Justin - */ - session->state = state; - g_free(msnobj_str); } } |