changeset 29880:1147389b5424

When logging-in with the HTTP protocol, we need to save the HTTP info (server address, session id) *before* checking the current presence state. Otherwise mxit_send_presence() might be called which will generate and send an invalid MXit HTTP packet.
author andrew.victor@mxit.com
date Tue, 04 May 2010 21:09:52 +0000
parents ce52e101844a
children 10c31a8137da df44288b44eb
files libpurple/protocols/mxit/protocol.c
diffstat 1 files changed, 9 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/mxit/protocol.c	Mon May 03 20:23:17 2010 +0000
+++ b/libpurple/protocols/mxit/protocol.c	Tue May 04 21:09:52 2010 +0000
@@ -1266,6 +1266,15 @@
 	purple_connection_update_progress( session->con, _( "Successfully Logged In..." ), 3, 4 );
 	purple_connection_set_state( session->con, PURPLE_CONNECTED );
 
+	/* save extra info if this is a HTTP connection */
+	if ( session->http ) {
+		/* save the http server to use for this session */
+		g_strlcpy( session->http_server, records[1]->fields[3]->data, sizeof( session->http_server ) );
+
+		/* save the session id */
+		session->http_sesid = atoi( records[0]->fields[0]->data );
+	}
+
 	/* display the current splash-screen */
 	if ( splash_popup_enabled( session ) )
 		splash_display( session );
@@ -1290,15 +1299,6 @@
 		g_free( statusmsg2 );
 	}
 
-	/* save extra info if this is a HTTP connection */
-	if ( session->http ) {
-		/* save the http server to use for this session */
-		g_strlcpy( session->http_server, records[1]->fields[3]->data, sizeof( session->http_server ) );
-
-		/* save the session id */
-		session->http_sesid = atoi( records[0]->fields[0]->data );
-	}
-
 	/* retrieve our MXit profile */
 	mxit_send_extprofile_request( session, NULL, ARRAY_SIZE( profilelist ), profilelist );
 }