diff options
Diffstat (limited to 'libmm-glib/mm-modem.c')
-rw-r--r-- | libmm-glib/mm-modem.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libmm-glib/mm-modem.c b/libmm-glib/mm-modem.c index 59533cc6..cdba3929 100644 --- a/libmm-glib/mm-modem.c +++ b/libmm-glib/mm-modem.c @@ -1101,16 +1101,23 @@ create_bearer_build_properties (const gchar *first_property_name, const gchar *key; GVariantBuilder builder; - g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{ss}")); + g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); key = first_property_name; while (key) { - const gchar *value; - - /* If a key with NULL value is given, just ignore it. */ - value = va_arg (var_args, gchar *); - if (value) - g_variant_builder_add (&builder, "{ss}", key, value); + if (g_str_equal (key, MM_BEARER_PROPERTY_ALLOW_ROAMING)) { + gboolean value; + + value = va_arg (var_args, gboolean); + g_variant_builder_add (&builder, "{sv}", key, g_variant_new_boolean (value)); + } else { + const gchar *value; + + /* If a key with NULL value is given, just ignore it. */ + value = va_arg (var_args, gchar *); + if (value) + g_variant_builder_add (&builder, "{sv}", key, g_variant_new_string (value)); + } key = va_arg (var_args, gchar *); } |