--- a/libpurple/tests/test_protocol_conversation.c Mon Apr 21 22:43:29 2025 -0500 +++ b/libpurple/tests/test_protocol_conversation.c Mon Apr 21 23:09:08 2025 -0500 @@ -350,17 +350,18 @@ GAsyncResult *result, G_GNUC_UNUSED gpointer data) { + PurpleConversation *conversation = NULL; PurpleProtocolConversation *protocol = NULL; GError *error = NULL; - gboolean joined = FALSE; protocol = PURPLE_PROTOCOL_CONVERSATION(source); - joined = purple_protocol_conversation_join_channel_finish(protocol, result, - &error); + conversation = purple_protocol_conversation_join_channel_finish(protocol, + result, + &error); g_assert_error(error, PURPLE_PROTOCOL_CONVERSATION_DOMAIN, 0); g_clear_error(&error); - g_assert_false(joined); + g_assert_null(conversation); } static void @@ -861,13 +862,16 @@ 0, "error"); g_task_return_error(task, error); } else { - g_task_return_boolean(task, TRUE); + PurpleConversation *conversation = NULL; + + conversation = g_object_new(PURPLE_TYPE_CONVERSATION, NULL); + g_task_return_pointer(task, conversation, g_object_unref); } g_clear_object(&task); } -static gboolean +static PurpleConversation * test_purple_protocol_conversation_join_channel_finish(PurpleProtocolConversation *protocol, GAsyncResult *result, GError **error) @@ -877,7 +881,7 @@ test_protocol = TEST_PURPLE_PROTOCOL_CONVERSATION(protocol); test_protocol->join_channel_finish += 1; - return g_task_propagate_boolean(G_TASK(result), error); + return g_task_propagate_pointer(G_TASK(result), error); } static void @@ -1499,23 +1503,25 @@ G_GNUC_UNUSED gpointer data) { TestPurpleProtocolConversation *test_protocol = NULL; + PurpleConversation *conversation = NULL; PurpleProtocolConversation *protocol = NULL; GError *error = NULL; - gboolean result = FALSE; protocol = PURPLE_PROTOCOL_CONVERSATION(obj); test_protocol = TEST_PURPLE_PROTOCOL_CONVERSATION(obj); - result = purple_protocol_conversation_join_channel_finish(protocol, res, - &error); + conversation = purple_protocol_conversation_join_channel_finish(protocol, + res, + &error); if(test_protocol->should_error) { g_assert_error(error, TEST_PURPLE_PROTOCOL_CONVERSATION_DOMAIN, 0); g_clear_error(&error); - g_assert_false(result); + g_assert_null(conversation); } else { g_assert_no_error(error); - g_assert_true(result); + g_assert_true(PURPLE_IS_CONVERSATION(conversation)); + g_clear_object(&conversation); } }