| 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, |