Thu, 30 Jan 2025 23:59:09 -0600
ircv3: Remove redundant account disconnection
If an `error` is set on the `IbisClient`, then the `notify::error` handler `purple_ircv3_connection_error_cb` will disconnect the account with that error.
So in `purple_ircv3_message_handler_error_cb`, pass the error to `ibis_client_stop`. This shouldn't change anything except remove the duplicate implementation of disconnecting the account.
Testing Done:
Compiled and turtles only. I did try `PIDGIN-18031`, but it didn't fix it.
Reviewed at https://reviews.imfreedom.org/r/3794/
| protocols/ircv3/purpleircv3messagehandlers.c | file | annotate | diff | comparison | revisions |
--- a/protocols/ircv3/purpleircv3messagehandlers.c Thu Jan 30 22:25:41 2025 -0600 +++ b/protocols/ircv3/purpleircv3messagehandlers.c Thu Jan 30 23:59:09 2025 -0600 @@ -717,15 +717,11 @@ gpointer data) { PurpleIRCv3Connection *v3_connection = data; - PurpleAccount *account = NULL; - PurpleConnection *connection = data; GError *error = NULL; GStrv params = NULL; guint n_params = 0; char *reason = NULL; - account = purple_connection_get_account(connection); - params = ibis_message_get_params(ibis_message); n_params = g_strv_length(params); @@ -741,9 +737,7 @@ error = g_error_new_literal(PURPLE_IRCV3_DOMAIN, 0, reason); g_clear_pointer(&reason, g_free); - ibis_client_stop(client, NULL); - - purple_account_disconnect_with_error(account, error); + ibis_client_stop(client, error); return TRUE; }