aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@gmail.com>2009-04-03 20:50:08 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2009-04-03 20:50:08 +0800
commitf606d0b8d030a1a4ac928c283ccfe0507d0fbc6b (patch)
tree4eb256679361520160bc8a26121c688a16b5e495 /libempathy
parentd6549f5d53123f131137b9248742afd5bb72afae (diff)
downloadgsoc2013-empathy-f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b.tar
gsoc2013-empathy-f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b.tar.gz
gsoc2013-empathy-f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b.tar.bz2
gsoc2013-empathy-f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b.tar.lz
gsoc2013-empathy-f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b.tar.xz
gsoc2013-empathy-f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b.tar.zst
gsoc2013-empathy-f606d0b8d030a1a4ac928c283ccfe0507d0fbc6b.zip
Simplify how channel classes value is parsed. Fixes bug #577825
From: Xavier Claessens <xclaesse@gmail.com> svn path=/trunk/; revision=2759
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-tp-contact-factory.c12
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");