diff options
-rw-r--r-- | libempathy/empathy-dispatcher.c | 13 | ||||
-rw-r--r-- | src/empathy-chat-window.c | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c index 49be0babe..839dababb 100644 --- a/libempathy/empathy-dispatcher.c +++ b/libempathy/empathy-dispatcher.c @@ -1610,6 +1610,19 @@ empathy_dispatcher_call_create_or_ensure_channel ( } } +/** + * empathy_dispatcher_create_channel: + * @self: the EmpathyDispatcher + * @connection: the Connection to dispatch on + * @request: an a{sv} map of properties for the request, i.e. using tp_asv_new() + * @callback: a callback for when the channel arrives (or NULL) + * @user_data: optional user data (or NULL) + * + * When calling this function, #EmpathyDispatcher takes ownership of your + * reference to @request. DO NOT unref or destroy @request. When the request is + * done, @request will be unreferenced. Take another reference if you want to + * keep it around. + */ void empathy_dispatcher_create_channel (EmpathyDispatcher *self, TpConnection *connection, diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c index bea85c648..2dbe09d5d 100644 --- a/src/empathy-chat-window.c +++ b/src/empathy-chat-window.c @@ -856,10 +856,10 @@ chat_window_upgrade_to_muc (EmpathyChat *chat, NULL); /* Although this is a MUC, it's anonymous, so CreateChannel is valid */ + /* props now belongs to EmpathyDispatcher, don't free it */ empathy_dispatcher_create_channel (dispatcher, connection, props, NULL, NULL); - g_hash_table_destroy (props); g_ptr_array_free (channels, TRUE); g_object_unref (dispatcher); |