diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gconf/gconf.c | 21 |
2 files changed, 26 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2003-09-26 Havoc Pennington <hp@pobox.com> + + * gconf/gconf.c (gconf_engine_all_dirs): fix crash calling this + with --direct (local source), the list contains strings not + GConfEntry + Wed Sep 10 15:23:17 2003 Jonathan Blandford <jrb@redhat.com> * configure.in: Rerelease 2.4.0.1 to fix glib-gettext problem. diff --git a/gconf/gconf.c b/gconf/gconf.c index f7d2b432..e4d1bb38 100644 --- a/gconf/gconf.c +++ b/gconf/gconf.c @@ -1570,6 +1570,25 @@ gconf_engine_all_entries(GConfEngine* conf, const gchar* dir, GError** err) return pairs; } + +static void +qualify_keys (GSList *keys, const char *dir) +{ + GSList *tmp = keys; + while (tmp != NULL) + { + char *key = tmp->data; + gchar *full; + + full = gconf_concat_dir_and_key (dir, key); + + g_free (tmp->data); + tmp->data = full; + + tmp = g_slist_next (tmp); + } +} + GSList* gconf_engine_all_dirs(GConfEngine* conf, const gchar* dir, GError** err) { @@ -1612,7 +1631,7 @@ gconf_engine_all_dirs(GConfEngine* conf, const gchar* dir, GError** err) return NULL; } - qualify_entries (retval, dir); + qualify_keys (retval, dir); return retval; } |