Bug#730799: libglib2.0-bin: "gsettings list-recursively" outputs lots of duplicate key / value pairs
Patrice DUROUX
patrice.duroux at igh.cnrs.fr
Sat Nov 30 09:43:58 UTC 2013
Hi,
Sorry I do wrong check but now I suspect that gsettings
list-recursively algorithm is:
for schema in $(gsettings list-schemas)
do
gsettings list-recursively $schema
done
that will produce redundancy. Having a look to source in
https://git.gnome.org/browse/glib/tree/gio/gsettings-tool.c
static void
gsettings_list_recursively (void)
{
if (global_settings)
{
list_recursively (global_settings);
}
else
{
gchar **schemas;
gint i;
g_settings_schema_source_list_schemas (global_schema_source, TRUE, &schemas, NULL);
for (i = 0; schemas[i]; i++)
{
GSettings *settings;
settings = g_settings_new (schemas[i]);
list_recursively (settings);
g_object_unref (settings);
}
g_strfreev (schemas);
}
}
seems to confirm this but then I don't have enough Glib knowledge to
propose a good solution on this. Check visited nodes? Iterate only
on «leave» schemas?
Sorry again.
Regards,
Patrice
--
Patrice DUROUX
CNRS Research Engineer
IMGT®, the international ImMunoGeneTics information system®
http://www.imgt.org
IMGT, LIGM, IGH, UPR CNRS 1142
141, rue de la Cardonille - 34396 Montpellier Cedex 5 - France
room: S01
tel: +33 4 34 35 99 28 (office)
fax: +33 4 34 35 99 01
mailto:patrice.duroux at igh.cnrs.fr
More information about the pkg-gnome-maintainers
mailing list