--- a/libpurple/protocols/sametime/sametime.c Fri Oct 14 01:11:38 2022 -0500 +++ b/libpurple/protocols/sametime/sametime.c Wed Oct 19 06:25:35 2022 -0500 @@ -3522,9 +3522,9 @@ } -static PurpleConnection * -mw_protocol_login(PurpleProtocol *protocol, PurpleAccount *account, - const char *password) +static void +mw_protocol_login(G_GNUC_UNUSED PurpleProtocol *protocol, + PurpleAccount *account) { PurpleConnection *gc; struct mwPurpleProtocolData *pd; @@ -3534,7 +3534,7 @@ GError *error = NULL; - gc = purple_connection_new(protocol, account, password); + gc = purple_account_get_connection(account); pd = mwPurpleProtocolData_new(gc); /* while we do support images, the default is to not offer it */ @@ -3561,7 +3561,7 @@ purple_connection_error(gc, PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, _("A server is required to connect this account")); - return gc; + return; } pass = g_strdup(purple_connection_get_password(gc)); @@ -3603,15 +3603,13 @@ pd->client = purple_gio_socket_client_new(account, &error); if (pd->client == NULL) { purple_connection_take_error(gc, error); - return gc; + return; } g_socket_client_connect_to_host_async( pd->client, host, port, pd->cancellable, connect_cb, pd); - - return gc; }