diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2007-08-31 05:39:30 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2007-08-31 05:39:30 +0800 |
commit | e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba (patch) | |
tree | 70fab1aa70fe9f0f7c3693002690e1c5857064e0 /libempathy | |
parent | 0e7b5944eb1fa9e494494c70d349051f74938150 (diff) | |
download | gsoc2013-empathy-e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba.tar gsoc2013-empathy-e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba.tar.gz gsoc2013-empathy-e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba.tar.bz2 gsoc2013-empathy-e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba.tar.lz gsoc2013-empathy-e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba.tar.xz gsoc2013-empathy-e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba.tar.zst gsoc2013-empathy-e1bf9ea994d961dc34fcb63a55c7df4dd73b95ba.zip |
Don't use deprecated RequestAvatar method.
2007-08-30 Xavier Claessens <xclaesse@gmail.com>
* libempathy/empathy-contact-factory.c: Don't use deprecated
RequestAvatar method.
svn path=/trunk/; revision=282
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-contact-factory.c | 59 |
1 files changed, 8 insertions, 51 deletions
diff --git a/libempathy/empathy-contact-factory.c b/libempathy/empathy-contact-factory.c index 1c91a65b6..96211ae47 100644 --- a/libempathy/empathy-contact-factory.c +++ b/libempathy/empathy-contact-factory.c @@ -68,11 +68,6 @@ typedef struct { guint *handles; } RequestAliasesData; -typedef struct { - ContactFactoryAccountData *account_data; - EmpathyContact *contact; -} RequestAvatarData; - static void empathy_contact_factory_class_init (EmpathyContactFactoryClass *klass); static void empathy_contact_factory_init (EmpathyContactFactory *factory); @@ -336,61 +331,23 @@ contact_factory_request_avatars_cb (DBusGProxy *proxy, } static void -contact_factory_request_avatar_cb (DBusGProxy *proxy, - GArray *avatar_data, - gchar *mime_type, - GError *error, - gpointer user_data) -{ - RequestAvatarData *data = user_data; - EmpathyAvatar *avatar; - - if (error) { - empathy_debug (DEBUG_DOMAIN, "Error requesting avatar: %s", - error->message); - goto OUT; - } - - empathy_debug (DEBUG_DOMAIN, "Avatar received for %s (%d)", - empathy_contact_get_id (data->contact), - empathy_contact_get_handle (data->contact)); - - avatar = empathy_avatar_new (avatar_data->data, - avatar_data->len, - mime_type); - empathy_contact_set_avatar (data->contact, avatar); - empathy_avatar_unref (avatar); - -OUT: - g_object_unref (data->contact); - contact_factory_account_data_return_call (data->account_data); - g_slice_free (RequestAvatarData, data); -} - -static void contact_factory_avatar_updated_cb (DBusGProxy *proxy, guint handle, gchar *new_token, gpointer user_data) { ContactFactoryAccountData *account_data = user_data; - RequestAvatarData *data; - EmpathyContact *contact; + GArray *handles; - contact = contact_factory_account_data_find_by_handle (account_data, - handle); - if (!contact) { - return; - } + handles = g_array_sized_new (FALSE, FALSE, sizeof (guint), 1); + g_array_insert_val (handles, 0, handle); account_data->nb_pending_calls++; - data = g_slice_new0 (RequestAvatarData); - data->account_data = account_data; - data->contact = g_object_ref (contact); - tp_conn_iface_avatars_request_avatar_async (account_data->avatars_iface, - handle, - contact_factory_request_avatar_cb, - data); + tp_conn_iface_avatars_request_avatars_async (account_data->avatars_iface, + handles, + contact_factory_request_avatars_cb, + account_data); + g_array_free (handles, TRUE); } static void |