[gnome-shell] Error out at startup if the GConf schemas are missing
- From: Dan Winship <danw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Error out at startup if the GConf schemas are missing
- Date: Fri, 12 Mar 2010 18:51:33 +0000 (UTC)
commit 20d3b1f8b18507cd8644ed98ff06659d04eb2c84
Author: Dan Winship <danw gnome org>
Date: Tue Mar 2 13:51:00 2010 -0500
Error out at startup if the GConf schemas are missing
If we don't do this, then boolean/int/list keys will seem to sort of
work (but defaulting to false/0/[] instead of the correct schema
defaults), but string keys will return null, which will usually cause
exceptions or crashes.
https://bugzilla.gnome.org/show_bug.cgi?id=611214
src/shell-gconf.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/src/shell-gconf.c b/src/shell-gconf.c
index 7073bbd..30485d4 100644
--- a/src/shell-gconf.c
+++ b/src/shell-gconf.c
@@ -46,9 +46,21 @@ static void gconf_value_changed (GConfClient *client, const char *key,
static void
shell_gconf_init (ShellGConf *gconf)
{
+ GConfValue *val;
+
gconf->client = gconf_client_get_default ();
gconf_client_add_dir (gconf->client, SHELL_GCONF_DIR,
GCONF_CLIENT_PRELOAD_RECURSIVE, NULL);
+
+ val = gconf_client_get (gconf->client,
+ SHELL_GCONF_DIR "/development_tools", NULL);
+ if (!val)
+ {
+ g_error ("GNOME Shell GConf schemas not found.\n"
+ "This generally indicates a building or packaging problem.");
+ }
+ gconf_value_free (val);
+
g_signal_connect (gconf->client, "value_changed",
G_CALLBACK (gconf_value_changed), gconf);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]