From f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Fri, 3 Apr 2009 12:50:08 +0000 Subject: Simplify how channel classes value is parsed. Fixes bug #577825 From: Xavier Claessens svn path=/trunk/; revision=2759 --- libempathy/empathy-tp-contact-factory.c | 12 ++++-------- 1 file 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"); -- cgit v1.2.3