diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2009-01-10 00:15:31 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-10 00:15:31 +0800 |
commit | c870b1b51063dff7e5218d8bd6bdc565cb69b577 (patch) | |
tree | 4cb2431426467c02ae36c1c38cc3a4da90a1f5f6 /libempathy-gtk/empathy-contact-menu.c | |
parent | eba71b838f543c7dd9390e74911526cf3d48fa26 (diff) | |
download | gsoc2013-empathy-c870b1b51063dff7e5218d8bd6bdc565cb69b577.tar gsoc2013-empathy-c870b1b51063dff7e5218d8bd6bdc565cb69b577.tar.gz gsoc2013-empathy-c870b1b51063dff7e5218d8bd6bdc565cb69b577.tar.bz2 gsoc2013-empathy-c870b1b51063dff7e5218d8bd6bdc565cb69b577.tar.lz gsoc2013-empathy-c870b1b51063dff7e5218d8bd6bdc565cb69b577.tar.xz gsoc2013-empathy-c870b1b51063dff7e5218d8bd6bdc565cb69b577.tar.zst gsoc2013-empathy-c870b1b51063dff7e5218d8bd6bdc565cb69b577.zip |
Let a chatroom keep a reference to a its TpChat if applicable
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2189
Diffstat (limited to 'libempathy-gtk/empathy-contact-menu.c')
-rw-r--r-- | libempathy-gtk/empathy-contact-menu.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/libempathy-gtk/empathy-contact-menu.c b/libempathy-gtk/empathy-contact-menu.c index 91138e293..e3fb3c9f7 100644 --- a/libempathy-gtk/empathy-contact-menu.c +++ b/libempathy-gtk/empathy-contact-menu.c @@ -301,20 +301,20 @@ room_sub_menu_activate_cb (GtkWidget *item, { TpHandle handle; GArray handles = {(gchar *) &handle, 1}; + EmpathyTpChat *chat; TpChannel *channel; - g_object_get (data->chatroom, "tp-channel", &channel, NULL); - if (channel == NULL) { + chat = empathy_chatroom_get_tp_chat (data->chatroom); + if (chat == NULL) { /* channel was invalidated. Ignoring */ return; } /* send invitation */ handle = empathy_contact_get_handle (data->contact); + channel = empathy_tp_chat_get_channel (chat); tp_cli_channel_interface_group_call_add_members (channel, -1, &handles, _("Inviting to this room"), NULL, NULL, NULL, NULL); - - g_object_unref (channel); } static GtkWidget * @@ -362,17 +362,13 @@ empathy_contact_invite_menu_item_new (EmpathyContact *contact) for (l = rooms; l != NULL; l = g_list_next (l)) { EmpathyChatroom *chatroom = l->data; - TpChannel *channel; - g_object_get (chatroom, "tp-channel", &channel, NULL); - if (channel != NULL) { + if (empathy_chatroom_get_tp_chat (chatroom) != NULL) { have_rooms = TRUE; room_item = create_room_sub_menu (contact, chatroom); gtk_menu_shell_append (submenu_shell, room_item); gtk_widget_show (room_item); - - g_object_unref (channel); } } |