From 6560b37450cd19c4a7c7b690e279fe97b7bfdcaa Mon Sep 17 00:00:00 2001
From: Ryan Lortie <desrt@desrt.ca>
Date: Thu, 12 Apr 2012 23:55:34 +0000
Subject: glib-compile-schemas: warn about bad dconf paths

For quite some time the recommended usage of GSettings and dconf has
been to use paths like /org/gnome/example/.  Use of /apps/ has spilled
over from GConf and is continuing to make its way into a number of
applications as they port.

glib-compile-schemas will now warn about these types of paths being
used.  This generates a lot of noise, but hopefully it will reduce the
number of ported applications making this mistake.
---
diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
index cf02389..27d0181 100644
--- a/gio/glib-compile-schemas.c
+++ b/gio/glib-compile-schemas.c
@@ -1204,6 +1204,12 @@ parse_state_start_schema (ParseState  *state,
       return;
     }
 
+  if (path && (g_str_has_prefix (path, "/apps/") ||
+               g_str_has_prefix (path, "/desktop/") ||
+               g_str_has_prefix (path, "/system/")))
+    g_printerr ("warning: Schema '%s' has path '%s'.  Paths starting with "
+                "'/apps/', '/desktop/' or '/system/' are deprecated.\n", id, path);
+
   state->schema_state = schema_state_new (path, gettext_domain,
                                           extends, extends_name, list_of);
 
--
cgit v0.9.0.2
