diff options
Diffstat (limited to 'telepathy-glib/protocol.c')
-rw-r--r-- | telepathy-glib/protocol.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/telepathy-glib/protocol.c b/telepathy-glib/protocol.c index 867db25f1..ee9b7e282 100644 --- a/telepathy-glib/protocol.c +++ b/telepathy-glib/protocol.c @@ -215,6 +215,15 @@ tp_protocol_params_from_param_specs (const GPtrArray *parameters, continue; } + if (!g_variant_type_string_is_valid (param->dbus_signature)) + { + DEBUG ("Parameter #%d for %s has type '%s' which is not a " + "single complete type, ignoring", i, protocol, + param->dbus_signature); + g_array_set_size (output, output->len - 1); + continue; + } + g_value_init (¶m->default_value, G_VALUE_TYPE (tmp)); g_value_copy (tmp, ¶m->default_value); |