This is an automated email from the git hooks/post-receive script. a l i p u s h e d a c o m m i t t o b r a n c h m a s t e r in repository xfce/xfconf.
commit c8215a9074805ddb4a0ba384283e33a573da90f9 Author: Viktor Odintsev <nine...@xfce.org> Date: Thu Aug 17 03:35:48 2017 +0300 Allow to store empty arrays Signed-off-by: Ali Abdallah <a...@xfce.org> --- common/xfconf-gvaluefuncs.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/common/xfconf-gvaluefuncs.c b/common/xfconf-gvaluefuncs.c index f2bcae8..38a012b 100644 --- a/common/xfconf-gvaluefuncs.c +++ b/common/xfconf-gvaluefuncs.c @@ -473,28 +473,34 @@ xfconf_gvalue_to_gvariant (const GValue *value) if (G_VALUE_TYPE(value) == G_TYPE_PTR_ARRAY) { GPtrArray *arr; - GVariantBuilder builder; - guint i = 0; - - g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY); arr = (GPtrArray*)g_value_get_boxed (value); - /* Check for array and that the array has at least one element */ - g_return_val_if_fail (arr && arr->len != 0, NULL); + /* Check for array */ + g_return_val_if_fail (arr, NULL); - for (i=0; i < arr->len; ++i) { - GValue *v = g_ptr_array_index (arr, i); - GVariant *var = NULL; + if (arr->len == 0) { + variant = g_variant_ref_sink(g_variant_new ("av", NULL)); + } + else { + GVariantBuilder builder; + guint i = 0; - var = xfconf_basic_gvalue_to_gvariant (v); - if (var) { - g_variant_builder_add (&builder, "v", var, NULL); - g_variant_unref (var); + g_variant_builder_init (&builder, G_VARIANT_TYPE_ARRAY); + + for (i=0; i < arr->len; ++i) { + GValue *v = g_ptr_array_index (arr, i); + GVariant *var = NULL; + + var = xfconf_basic_gvalue_to_gvariant (v); + if (var) { + g_variant_builder_add (&builder, "v", var, NULL); + g_variant_unref (var); + } } - } - variant = g_variant_ref_sink(g_variant_builder_end (&builder)); + variant = g_variant_ref_sink(g_variant_builder_end (&builder)); + } } else if (G_VALUE_TYPE(value) == G_TYPE_STRV) { gchar **strlist; -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits