summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--gconf/gconf.c21
2 files changed, 26 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index fd9e3dd6..fafe2398 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
}