gnome-session r4996 - in trunk: . gnome-session
- From: mccann svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-session r4996 - in trunk: . gnome-session
- Date: Tue, 26 Aug 2008 17:24:53 +0000 (UTC)
Author: mccann
Date: Tue Aug 26 17:24:52 2008
New Revision: 4996
URL: http://svn.gnome.org/viewvc/gnome-session?rev=4996&view=rev
Log:
2008-08-26 William Jon McCann <jmccann redhat com>
* gnome-session/main.c (append_required_apps):
Honor the list of required apps in the list key instead of
loading all component keys in the dir.
Modified:
trunk/ChangeLog
trunk/gnome-session/main.c
Modified: trunk/gnome-session/main.c
==============================================================================
--- trunk/gnome-session/main.c (original)
+++ trunk/gnome-session/main.c Tue Aug 26 17:24:52 2008
@@ -46,6 +46,7 @@
#define GSM_GCONF_DEFAULT_SESSION_KEY "/desktop/gnome/session/default-session"
#define GSM_GCONF_REQUIRED_COMPONENTS_DIRECTORY "/desktop/gnome/session/required-components"
+#define GSM_GCONF_REQUIRED_COMPONENTS_KEY "/desktop/gnome/session/required-components"
#define GSM_DBUS_NAME "org.gnome.SessionManager"
@@ -280,35 +281,39 @@
GConfClient *client;
client = gconf_client_get_default ();
- required_components = gconf_client_all_entries (client,
- GSM_GCONF_REQUIRED_COMPONENTS_DIRECTORY,
- NULL);
- g_object_unref (client);
+ required_components = gconf_client_get_list (client,
+ GSM_GCONF_REQUIRED_COMPONENTS_KEY,
+ GCONF_VALUE_STRING,
+ NULL);
for (r = required_components; r != NULL; r = r->next) {
- GConfEntry *entry;
- const char *default_provider;
- const char *service;
-
- entry = (GConfEntry *) r->data;
+ char *path;
+ char *default_provider;
+ const char *component;
- service = strrchr (entry->key, '/');
- if (service == NULL) {
+ if (IS_STRING_EMPTY ((char *)r->data)) {
continue;
}
- service++;
- default_provider = gconf_value_get_string (entry->value);
- if (default_provider == NULL) {
- continue;
- }
+ component = r->data;
- gsm_manager_add_autostart_app (manager, default_provider, service);
+ path = g_strdup_printf ("%s/%s",
+ GSM_GCONF_REQUIRED_COMPONENTS_DIRECTORY,
+ component);
+
+ default_provider = gconf_client_get_string (client, path, NULL);
+ if (default_provider != NULL) {
+ gsm_manager_add_autostart_app (manager, default_provider, component);
+ }
- gconf_entry_free (entry);
+ g_free (default_provider);
+ g_free (path);
}
+ g_slist_foreach (required_components, (GFunc)g_free, NULL);
g_slist_free (required_components);
+
+ g_object_unref (client);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]