GSettings schemas: allow for zero items in schema
authorRyan Lortie <desrt@desrt.ca>
Mon, 26 Sep 2011 15:21:55 +0000 (11:21 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 1 Oct 2011 13:34:44 +0000 (09:34 -0400)
GVDB deals with empty lists by returning NULL for the list instead of a
zero-length (non-NULL) strv.  We can work around that in GSettingsSchema
by checking for the NULL case and treating it like a zero-length list.

https://bugzilla.gnome.org/show_bug.cgi?id=660147

gio/gsettingsschema.c

index d904bf7..25d8541 100644 (file)
@@ -349,7 +349,7 @@ g_settings_schema_list (GSettingsSchema *schema,
       gint len;
 
       list = gvdb_table_list (schema->priv->table, "");
-      len = g_strv_length (list);
+      len = list ? g_strv_length (list) : 0;
 
       schema->priv->items = g_new (GQuark, len);
       j = 0;