diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2007-05-31 14:34:41 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2007-05-31 14:34:41 +0800 |
commit | 6fe758a0d83f6872585a177a2e821d4105642308 (patch) | |
tree | 50d79a5ae475063c38e4e62cdaaa3c3817220077 /libempathy/gossip-utils.c | |
parent | a0c9dc2f22f510378063be5a8c872bfe8c92bd10 (diff) | |
download | gsoc2013-empathy-6fe758a0d83f6872585a177a2e821d4105642308.tar gsoc2013-empathy-6fe758a0d83f6872585a177a2e821d4105642308.tar.gz gsoc2013-empathy-6fe758a0d83f6872585a177a2e821d4105642308.tar.bz2 gsoc2013-empathy-6fe758a0d83f6872585a177a2e821d4105642308.tar.lz gsoc2013-empathy-6fe758a0d83f6872585a177a2e821d4105642308.tar.xz gsoc2013-empathy-6fe758a0d83f6872585a177a2e821d4105642308.tar.zst gsoc2013-empathy-6fe758a0d83f6872585a177a2e821d4105642308.zip |
Fix warning when selecting all accounts.
2007-05-31 Xavier Claessens <xclaesse@gmail.com>
* libempathy-gtk/gossip-account-chooser.c: Fix warning when selecting
all accounts.
* src/empathy-accounts-main.c:
* libempathy-gtk/empathy-status-icon.c:
* libempathy-gtk/gossip-accounts-dialog.h:
* libempathy-gtk/gossip-accounts-dialog.c:
* libempathy-gtk/gossip-preferences.h:
* libempathy-gtk/gossip-preferences.c: Set parent window.
* libempathy-gtk/empathy-main-window.c: Implement favorite chatroom
menu and fix a leak.
* libempathy-gtk/Makefile.am:
* libempathy/Makefile.am:
* libempathy/gossip-chatroom.c:
* libempathy/gossip-chatroom.h:
* libempathy/gossip-chatroom-manager.c:
* libempathy/gossip-chatroom-manager.h:
* libempathy/gossip-chatroom-manager.dtd:
* libempathy-gtk/gossip-chatrooms-window.glade:
* libempathy-gtk/gossip-chatrooms-window.c:
* libempathy-gtk/gossip-chatrooms-window.h: New files to implement
favorite chatrooms and a window to show them.
* libempathy-gtk/gossip-chat.c: Fix tooltip leaked.
* libempathy-gtk/gossip-chat-window.h:
* libempathy-gtk/gossip-chat-window.c: Do not use deprecated
gtk_object_sink(). Implement favorite chatroom features. Find a chat
by comparing the account AND the chat ID.
* src/empathy-chat-main.c:
* libempathy/empathy-tp-chat.h:
* libempathy/empathy-tp-chat.c:
* libempathy/gossip-utils.h:
* libempathy/gossip-utils.c: empathy_tp_chat_get_id() returns the Text
channel's name. The chat ID is unique only for a specified account.
* libempathy/empathy-tp-contact-list.c: Fix some leaks and add a FIXME
comment for a leak not yet fixed.
* TODO: Would be cool to have a glade catalog for libempathy-gtk.
svn path=/trunk/; revision=100
Diffstat (limited to 'libempathy/gossip-utils.c')
-rw-r--r-- | libempathy/gossip-utils.c | 49 |
1 files changed, 48 insertions, 1 deletions
diff --git a/libempathy/gossip-utils.c b/libempathy/gossip-utils.c index 6ab70ce4a..579981616 100644 --- a/libempathy/gossip-utils.c +++ b/libempathy/gossip-utils.c @@ -33,7 +33,6 @@ #include <glib/gi18n.h> #include <libxml/uri.h> -#include <libmissioncontrol/mc-account.h> #include <libtelepathy/tp-helpers.h> #include "gossip-debug.h" @@ -447,3 +446,51 @@ gossip_mission_control_new (void) return mc; } +gchar * +gossip_get_channel_id (McAccount *account, + TpChan *tp_chan) +{ + MissionControl *mc; + TpConn *tp_conn; + GArray *handles; + gchar **names; + gchar *name; + GError *error; + + g_return_val_if_fail (MC_IS_ACCOUNT (account), NULL); + g_return_val_if_fail (TELEPATHY_IS_CHAN (tp_chan), NULL); + + mc = gossip_mission_control_new (); + tp_conn = mission_control_get_connection (mc, account, NULL); + g_object_unref (mc); + + if (!tp_conn) { + return NULL; + } + + /* Get the handle's name */ + handles = g_array_new (FALSE, FALSE, sizeof (guint)); + g_array_append_val (handles, tp_chan->handle); + if (!tp_conn_inspect_handles (DBUS_G_PROXY (tp_conn), + tp_chan->handle_type, + handles, + &names, + &error)) { + gossip_debug (DEBUG_DOMAIN, + "Couldn't get id: %s", + error ? error->message : "No error given"); + + g_clear_error (&error); + g_array_free (handles, TRUE); + g_object_unref (tp_conn); + + return NULL; + } + + name = *names; + g_free (names); + g_object_unref (tp_conn); + + return name; +} + |