aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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");