diff -r ea212a081e9c -r 8135b5752cec protocols/xmpp/purplexmppconnection.c --- a/protocols/xmpp/purplexmppconnection.c Fri Nov 01 01:31:09 2024 -0500 +++ b/protocols/xmpp/purplexmppconnection.c Fri Nov 01 01:32:55 2024 -0500 @@ -42,26 +42,25 @@ purple_xmpp_connection_connect_cb(GObject *source, GAsyncResult *result, gpointer data) { - PurpleXmppConnection *connection = data; + PurpleXmppConnection *xmpp_connection = data; + PurpleAccount *account = NULL; + PurpleConnection *connection = data; XemeOutputStream *output = NULL; GError *error = NULL; output = xeme_connection_connect_finish(XEME_CONNECTION(source), result, &error); + + account = purple_connection_get_account(connection); if(error != NULL) { - PurpleAccount *account = NULL; - - account = purple_connection_get_account(PURPLE_CONNECTION(connection)); - purple_account_disconnect_with_error(account, error); return; } - connection->output = output; + xmpp_connection->output = output; - purple_connection_set_state(PURPLE_CONNECTION(connection), - PURPLE_CONNECTION_STATE_CONNECTED); + purple_account_connected(account); } /****************************************************************************** @@ -86,9 +85,6 @@ g_return_val_if_fail(PURPLE_XMPP_IS_CONNECTION(purple_connection), FALSE); - purple_connection_set_state(purple_connection, - PURPLE_CONNECTION_STATE_CONNECTING); - connection = PURPLE_XMPP_CONNECTION(purple_connection); cancellable = purple_connection_get_cancellable(purple_connection); account = purple_connection_get_account(purple_connection);