[goffice] GOConf: handle absolute keys.



commit 9c054096996badb5b38fc4a543177d730ad2eacc
Author: Morten Welinder <terra gnome org>
Date:   Tue Mar 1 13:04:20 2011 -0500

    GOConf: handle absolute keys.

 ChangeLog                   |    5 +++++
 NEWS                        |    1 +
 goffice/app/go-conf-gconf.c |    4 +++-
 3 files changed, 9 insertions(+), 1 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index abc2aba..7193120 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-01  Morten Welinder  <terra gnome org>
+
+	* goffice/app/go-conf-gconf.c (go_conf_get_node): Handle keys that
+	don't start in /apps/.
+
 2011-02-23  Andreas J. Guelzow <aguelzow pyrshep ca>
 
 	* goffice/utils/go-undo.c (go_undo_*nary_finalize): chain to parent
diff --git a/NEWS b/NEWS
index 7b74b86..9fbc85c 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ goffice 0.8.14:
 
 Morten:
 	* Plug leaks.
+	* Allow GOConf to handle absolute keys.
 
 --------------------------------------------------------------------------
 goffice 0.8.13:
diff --git a/goffice/app/go-conf-gconf.c b/goffice/app/go-conf-gconf.c
index 392c3b3..990f34f 100644
--- a/goffice/app/go-conf-gconf.c
+++ b/goffice/app/go-conf-gconf.c
@@ -43,7 +43,9 @@ go_conf_get_node (GOConfNode *parent, gchar const *key)
 	node = g_new (GOConfNode, 1);
 	node->root = !parent;
 	if (node->root) {
-		node->path = g_strconcat ("/apps/", key, NULL);
+		node->path = (key[0] == '/')
+			? g_strdup (key)
+			: g_strconcat ("/apps/", key, NULL);
 		gconf_client_add_dir (gconf_client, node->path,
 				      GCONF_CLIENT_PRELOAD_RECURSIVE,
 				      NULL);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]