protocols/ircv3/purpleircv3protocolconversation.c

changeset 43235
42e7b89033fe
parent 43200
163d7b5a8364
equal deleted inserted replaced
43234:85be702275e6 43235:42e7b89033fe
184 "id", normalized_name, 184 "id", normalized_name,
185 "title", name, 185 "title", name,
186 "online", TRUE, 186 "online", TRUE,
187 NULL); 187 NULL);
188 purple_conversation_manager_add(manager, conversation); 188 purple_conversation_manager_add(manager, conversation);
189 g_clear_object(&conversation);
190 189
191 ibis_client_write(client, message); 190 ibis_client_write(client, message);
192 191
193 g_free(normalized_name); 192 g_free(normalized_name);
194 193
195 g_task_return_boolean(task, TRUE); 194 g_task_return_pointer(task, conversation, g_object_unref);
196 g_clear_object(&task); 195 g_clear_object(&task);
197 } 196 }
198 197
199 static gboolean 198 static PurpleConversation *
200 purple_ircv3_protocol_conversation_join_channel_finish(G_GNUC_UNUSED PurpleProtocolConversation *protocol, 199 purple_ircv3_protocol_conversation_join_channel_finish(G_GNUC_UNUSED PurpleProtocolConversation *protocol,
201 GAsyncResult *result, 200 GAsyncResult *result,
202 GError **error) 201 GError **error)
203 { 202 {
204 return g_task_propagate_boolean(G_TASK(result), error); 203 return g_task_propagate_pointer(G_TASK(result), error);
205 } 204 }
206 205
207 static void 206 static void
208 purple_ircv3_protocol_conversation_leave_conversation_async(PurpleProtocolConversation *protocol, 207 purple_ircv3_protocol_conversation_leave_conversation_async(PurpleProtocolConversation *protocol,
209 PurpleConversation *conversation, 208 PurpleConversation *conversation,

mercurial