diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2009-04-03 20:44:34 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-04-03 20:44:34 +0800 |
commit | 5209e3d11898683527d542ad6fa1f835b5998162 (patch) | |
tree | ac39a0536fed238d21cbf9b7b45fc415fbfde920 | |
parent | 98cf853f38974914973ac915a82b7b8a03445c64 (diff) | |
download | gsoc2013-empathy-5209e3d11898683527d542ad6fa1f835b5998162.tar gsoc2013-empathy-5209e3d11898683527d542ad6fa1f835b5998162.tar.gz gsoc2013-empathy-5209e3d11898683527d542ad6fa1f835b5998162.tar.bz2 gsoc2013-empathy-5209e3d11898683527d542ad6fa1f835b5998162.tar.lz gsoc2013-empathy-5209e3d11898683527d542ad6fa1f835b5998162.tar.xz gsoc2013-empathy-5209e3d11898683527d542ad6fa1f835b5998162.tar.zst gsoc2013-empathy-5209e3d11898683527d542ad6fa1f835b5998162.zip |
Simplify how channel classes value is parsed. Fixes bug #577825
From: Xavier Claessens <xclaesse@gmail.com>
svn path=/branches/gnome-2-26/; revision=2755
-rw-r--r-- | libempathy/empathy-tp-contact-factory.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/libempathy/empathy-tp-contact-factory.c b/libempathy/empathy-tp-contact-factory.c index d83ba12a8..f72cc77d1 100644 --- a/libempathy/empathy-tp-contact-factory.c +++ b/libempathy/empathy-tp-contact-factory.c @@ -840,17 +840,13 @@ get_requestable_channel_classes_cb (TpProxy *connection, classes = g_value_get_boxed (value); for (i = 0; i < classes->len; i++) { - GValue class = {0,}; - GValue *chan_type, *handle_type; + GValueArray *class_struct; GHashTable *fixed_prop; + GValue *chan_type, *handle_type; GList *l; - g_value_init (&class, TP_STRUCT_TYPE_REQUESTABLE_CHANNEL_CLASS); - g_value_set_static_boxed (&class, g_ptr_array_index (classes, i)); - - dbus_g_type_struct_get (&class, - 0, &fixed_prop, - G_MAXUINT); + class_struct = g_ptr_array_index (classes, i); + fixed_prop = g_value_get_boxed (g_value_array_get_nth (class_struct, 0)); chan_type = g_hash_table_lookup (fixed_prop, TP_IFACE_CHANNEL ".ChannelType"); |