gsettings-tool: make list-recursively really recurse
authorDaiki Ueno <ueno@unixuser.org>
Fri, 24 Aug 2012 06:43:02 +0000 (15:43 +0900)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 28 Aug 2012 04:08:06 +0000 (00:08 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=682586

gio/gsettings-tool.c

index a232602..bcf3988 100644 (file)
@@ -218,7 +218,7 @@ enumerate (GSettings *settings)
   gchar *schema;
   gint i;
 
-  g_object_get (settings, "schema", &schema, NULL);
+  g_object_get (settings, "schema-id", &schema, NULL);
 
   keys = g_settings_list_keys (settings);
   for (i = 0; keys[i]; i++)
@@ -252,15 +252,10 @@ gsettings_list_recursively (GSettings   *settings,
       for (i = 0; children[i]; i++)
         {
           GSettings *child;
-          GSettingsSchema *schema;
 
           child = g_settings_get_child (settings, children[i]);
-          g_object_get (child, "settings-schema", &schema, NULL);
-
-          enumerate (child);
-
+          gsettings_list_recursively (child, NULL, NULL);
           g_object_unref (child);
-          g_settings_schema_unref (schema);
         }
 
       g_strfreev (children);
@@ -275,7 +270,7 @@ gsettings_list_recursively (GSettings   *settings,
       for (i = 0; schemas[i]; i++)
         {
           settings = g_settings_new (schemas[i]);
-          enumerate (settings);
+          gsettings_list_recursively (settings, NULL, NULL);
           g_object_unref (settings);
         }
     }