aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@gmail.com>2009-04-03 20:44:34 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2009-04-03 20:44:34 +0800
commit5209e3d11898683527d542ad6fa1f835b5998162 (patch)
treeac39a0536fed238d21cbf9b7b45fc415fbfde920
parent98cf853f38974914973ac915a82b7b8a03445c64 (diff)
downloadgsoc2013-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.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");