--- a/libpurple/purpleprotocolconversation.c Mon Apr 21 22:43:29 2025 -0500 +++ b/libpurple/purpleprotocolconversation.c Mon Apr 21 23:09:08 2025 -0500 @@ -405,20 +405,20 @@ } } -gboolean +PurpleConversation * purple_protocol_conversation_join_channel_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error) { PurpleProtocolConversationInterface *iface = NULL; - g_return_val_if_fail(PURPLE_IS_PROTOCOL_CONVERSATION(protocol), FALSE); - g_return_val_if_fail(G_IS_ASYNC_RESULT(result), FALSE); + g_return_val_if_fail(PURPLE_IS_PROTOCOL_CONVERSATION(protocol), NULL); + g_return_val_if_fail(G_IS_ASYNC_RESULT(result), NULL); if(g_async_result_is_tagged(result, purple_protocol_conversation_join_channel_async)) { - return g_task_propagate_boolean(G_TASK(result), error); + return g_task_propagate_pointer(G_TASK(result), error); } iface = PURPLE_PROTOCOL_CONVERSATION_GET_IFACE(protocol); @@ -430,7 +430,7 @@ "without calling " "purple_protocol_conversation_join_channel_async"); - return FALSE; + return NULL; } gboolean