--- a/libpurple/protocols/ircv3/purpleircv3capabilities.c Sun Jan 29 12:05:48 2023 -0600
+++ b/libpurple/protocols/ircv3/purpleircv3capabilities.c Sun Jan 29 12:07:06 2023 -0600
@@ -267,7 +267,7 @@
signals[SIG_ACK] = g_signal_new_class_handler(
G_OBJECT_CLASS_TYPE(klass),
+ G_SIGNAL_DETAILED | G_SIGNAL_RUN_LAST, @@ -291,7 +291,7 @@
signals[SIG_NAK] = g_signal_new_class_handler(
G_OBJECT_CLASS_TYPE(klass),
+ G_SIGNAL_DETAILED | G_SIGNAL_RUN_LAST, @@ -428,7 +428,7 @@
- g_signal_emit(capabilities, sig, 0, caps);
+ g_signal_emit(capabilities, sig, g_quark_from_string(caps), caps); found = g_ptr_array_find_with_equal_func(capabilities->requests, caps,
--- a/libpurple/protocols/ircv3/purpleircv3sasl.c Sun Jan 29 12:05:48 2023 -0600
+++ b/libpurple/protocols/ircv3/purpleircv3sasl.c Sun Jan 29 12:07:06 2023 -0600
@@ -299,13 +299,10 @@
*****************************************************************************/
-purple_ircv3_sasl_ack_cb(PurpleIRCv3Capabilities *caps, const char *capability,
+purple_ircv3_sasl_ack_cb(PurpleIRCv3Capabilities *caps, + G_GNUC_UNUSED const char *capability, G_GNUC_UNUSED gpointer data)
- if(!purple_strequal(capability, "sasl")) {
purple_ircv3_sasl_start(caps);
@@ -316,7 +313,7 @@
purple_ircv3_sasl_request(PurpleIRCv3Capabilities *capabilities) {
purple_ircv3_capabilities_request(capabilities, "sasl");
- g_signal_connect(capabilities, "ack",
+ g_signal_connect(capabilities, "ack::sasl", G_CALLBACK(purple_ircv3_sasl_ack_cb), NULL);