From 47049eaad4650307650b904b3c44a8f1650bc49e Mon Sep 17 00:00:00 2001 From: Colomban Wendling Date: Tue, 20 Jan 2015 18:45:34 +0100 Subject: MsmGnome: Fix and simplify logic --- mate-session/msm-gnome.c | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/mate-session/msm-gnome.c b/mate-session/msm-gnome.c index 519d6a7..e7dd68f 100644 --- a/mate-session/msm-gnome.c +++ b/mate-session/msm-gnome.c @@ -228,8 +228,6 @@ msm_gnome_start (void) { GSettings* settings; gchar **array; - GList *startup = NULL; - gint i; if (gnome_compat_started == TRUE) return; @@ -237,32 +235,26 @@ msm_gnome_start (void) settings = g_settings_new (GSM_SCHEMA); array = g_settings_get_strv (settings, GSM_GNOME_COMPAT_STARTUP_KEY); if (array) { - for (i = 0; array[i]; i++) { - startup = g_list_append (startup, g_strdup (array[i])); - } - } - g_strfreev (array); - g_object_unref (settings); + guint i; - if (startup != NULL) { - if (g_list_find_custom (startup, "smproxy", (GCompareFunc) strcmp) != NULL) { - g_debug ("MsmGnome: starting smproxy"); - msm_compat_gnome_smproxy_startup (); - gnome_compat_started = TRUE; - } else if (g_list_find_custom (startup, "keyring", (GCompareFunc) strcmp) != NULL) { - g_debug ("MsmGnome: starting keyring"); - gnome_keyring_daemon_startup (); - gnome_compat_started = TRUE; - } else { - g_debug ("MsmGnome: unknown component, ignoring"); + for (i = 0; array[i]; i++) { + if (strcmp (array[i], "smproxy") == 0) { + g_debug ("MsmGnome: starting smproxy"); + msm_compat_gnome_smproxy_startup (); + gnome_compat_started = TRUE; + } else if (strcmp (array[i], "keyring") == 0) { + g_debug ("MsmGnome: starting keyring"); + gnome_keyring_daemon_startup (); + gnome_compat_started = TRUE; + } else { + g_debug ("MsmGnome: ignoring unknown component \"%s\"", array[i]); + } } - - g_list_foreach (startup, (GFunc) g_free, NULL); - g_list_free (startup); - + g_strfreev (array); } else { g_debug ("MsmGnome: No components found to start"); } + g_object_unref (settings); } -- cgit v1.2.1