|
|
@ -764,3 +764,36 @@ diff -up /dev/null GConf-2.22.0/gconf/org.gnome.GConf.service.in
|
|
|
|
dbus_error_init (&bus_error);
|
|
|
|
dbus_error_init (&bus_error);
|
|
|
|
connection = dbus_bus_get (DBUS_BUS_SESSION, &bus_error);
|
|
|
|
connection = dbus_bus_get (DBUS_BUS_SESSION, &bus_error);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Index: gconf/gconf/gconftool.c
|
|
|
|
|
|
|
|
===================================================================
|
|
|
|
|
|
|
|
--- gconf/gconf/gconftool.c (revision 2600)
|
|
|
|
|
|
|
|
+++ gconf/gconf/gconftool.c (working copy)
|
|
|
|
|
|
|
|
@@ -890,7 +890,27 @@ main (int argc, char** argv)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (config_source == NULL)
|
|
|
|
|
|
|
|
- conf = gconf_engine_get_default();
|
|
|
|
|
|
|
|
+ {
|
|
|
|
|
|
|
|
+ /* If we aren't running from within a session,
|
|
|
|
|
|
|
|
+ * assume we'll be touching the database locally
|
|
|
|
|
|
|
|
+ */
|
|
|
|
|
|
|
|
+ conf = NULL;
|
|
|
|
|
|
|
|
+ if (g_getenv ("DBUS_SESSION_BUS_ADDRESS") == NULL)
|
|
|
|
|
|
|
|
+ {
|
|
|
|
|
|
|
|
+ char *conffile;
|
|
|
|
|
|
|
|
+ GSList *addresses;
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+ conffile = g_strconcat (GCONF_CONFDIR, "/path", NULL);
|
|
|
|
|
|
|
|
+ addresses = gconf_load_source_path (conffile, NULL);
|
|
|
|
|
|
|
|
+ g_free(conffile);
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+ conf = gconf_engine_get_local_for_addresses (addresses, &err);
|
|
|
|
|
|
|
|
+ gconf_address_list_free (addresses);
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
+ if (conf == NULL)
|
|
|
|
|
|
|
|
+ conf = gconf_engine_get_default();
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
GSList *addresses;
|
|
|
|