changeset 25673:af2b883df9a3

Wait until receiving the roster to tell the core we're logged in References #8385 (hopefully, this cures it, but I'm not sure).
author Paul Aurich <paul@darkrain42.org>
date Tue, 10 Feb 2009 04:43:50 +0000
parents 69495c6f12af
children d3f9fe8330c7
files libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/roster.c
diffstat 2 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jabber.c	Tue Feb 10 04:39:16 2009 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Tue Feb 10 04:43:50 2009 +0000
@@ -92,7 +92,7 @@
 {
 	const char *type = xmlnode_get_attrib(packet, "type");
 	if(type && !strcmp(type, "result")) {
-		jabber_stream_set_state(js, JABBER_STREAM_CONNECTED);
+		jabber_disco_items_server(js);
 		if(js->unregistration)
 			jabber_unregister_account_cb(js);
 	} else {
@@ -1527,7 +1527,6 @@
 		case JABBER_STREAM_CONNECTED:
 			/* now we can alert the core that we're ready to send status */
 			purple_connection_set_state(js->gc, PURPLE_CONNECTED);
-			jabber_disco_items_server(js);
 			break;
 	}
 }
--- a/libpurple/protocols/jabber/roster.c	Tue Feb 10 04:39:16 2009 +0000
+++ b/libpurple/protocols/jabber/roster.c	Tue Feb 10 04:43:50 2009 +0000
@@ -257,10 +257,11 @@
 	js->currently_parsing_roster_push = FALSE;
 
 	/* if we're just now parsing the roster for the first time,
-	 * then now would be the time to send our initial presence */
+	 * then now would be the time to declare ourselves connected and
+	 * send our initial presence */
 	if(!js->roster_parsed) {
 		js->roster_parsed = TRUE;
-
+		jabber_stream_set_state(js, JABBER_STREAM_CONNECTED);
 		jabber_presence_send(js, TRUE);
 	}
 }