# HG changeset patch # User Paul Aurich # Date 1234241030 0 # Node ID af2b883df9a3e96c91ddea29b78a1bd485461a14 # Parent 69495c6f12af560dd0223658decaeb4536b24959 Wait until receiving the roster to tell the core we're logged in References #8385 (hopefully, this cures it, but I'm not sure). diff -r 69495c6f12af -r af2b883df9a3 libpurple/protocols/jabber/jabber.c --- 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; } } diff -r 69495c6f12af -r af2b883df9a3 libpurple/protocols/jabber/roster.c --- 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); } }