Blame SOURCES/0003-launch-environment-fix-crasher-when-session-mode-isn.patch

75a7a3
From c29c4587ffc1ac7b923a2725a9f8fee0579124d1 Mon Sep 17 00:00:00 2001
75a7a3
From: Ray Strode <rstrode@redhat.com>
75a7a3
Date: Mon, 27 Mar 2017 16:56:29 -0400
75a7a3
Subject: [PATCH 03/13] launch-environment: fix crasher when session-mode isn't
75a7a3
 set
75a7a3
75a7a3
This commit fixes a crasher when starting the indirect chooser.
75a7a3
---
75a7a3
 daemon/gdm-launch-environment.c | 13 +++++++------
75a7a3
 1 file changed, 7 insertions(+), 6 deletions(-)
75a7a3
75a7a3
diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
75a7a3
index a30276b4..4372ac29 100644
75a7a3
--- a/daemon/gdm-launch-environment.c
75a7a3
+++ b/daemon/gdm-launch-environment.c
75a7a3
@@ -128,68 +128,69 @@ build_launch_environment (GdmLaunchEnvironment *launch_environment,
75a7a3
                 "XDG_CONFIG_DIRS", NULL
75a7a3
         };
75a7a3
         char *system_data_dirs;
75a7a3
         int i;
75a7a3
 
75a7a3
         /* create a hash table of current environment, then update keys has necessary */
75a7a3
         hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
75a7a3
 
75a7a3
         for (i = 0; optional_environment[i] != NULL; i++) {
75a7a3
                 if (g_getenv (optional_environment[i]) == NULL) {
75a7a3
                         continue;
75a7a3
                 }
75a7a3
 
75a7a3
                 g_hash_table_insert (hash,
75a7a3
                                      g_strdup (optional_environment[i]),
75a7a3
                                      g_strdup (g_getenv (optional_environment[i])));
75a7a3
         }
75a7a3
 
75a7a3
         system_data_dirs = g_strjoinv (":", (char **) g_get_system_data_dirs ());
75a7a3
 
75a7a3
         g_hash_table_insert (hash,
75a7a3
                              g_strdup ("XDG_DATA_DIRS"),
75a7a3
                              g_strdup_printf ("%s:%s",
75a7a3
                                               DATADIR "/gdm/greeter",
75a7a3
                                               system_data_dirs));
75a7a3
         g_free (system_data_dirs);
75a7a3
 
75a7a3
         if (launch_environment->priv->x11_authority_file != NULL)
75a7a3
                 g_hash_table_insert (hash, g_strdup ("XAUTHORITY"), g_strdup (launch_environment->priv->x11_authority_file));
75a7a3
 
75a7a3
-        if (launch_environment->priv->session_mode != NULL)
75a7a3
+        if (launch_environment->priv->session_mode != NULL) {
75a7a3
                 g_hash_table_insert (hash, g_strdup ("GNOME_SHELL_SESSION_MODE"), g_strdup (launch_environment->priv->session_mode));
75a7a3
 
75a7a3
-        /* Inital setup needs gvfs for fetching remote avatars. */
75a7a3
-        if (strcmp (launch_environment->priv->session_mode, INITIAL_SETUP_SESSION_MODE) != 0) {
75a7a3
-                g_hash_table_insert (hash, g_strdup ("GVFS_DISABLE_FUSE"), g_strdup ("1"));
75a7a3
-                g_hash_table_insert (hash, g_strdup ("GIO_USE_VFS"), g_strdup ("local"));
75a7a3
-                g_hash_table_insert (hash, g_strdup ("GVFS_REMOTE_VOLUME_MONITOR_IGNORE"), g_strdup ("1"));
75a7a3
+		/* Inital setup needs gvfs for fetching remote avatars. */
75a7a3
+		if (strcmp (launch_environment->priv->session_mode, INITIAL_SETUP_SESSION_MODE) != 0) {
75a7a3
+			g_hash_table_insert (hash, g_strdup ("GVFS_DISABLE_FUSE"), g_strdup ("1"));
75a7a3
+			g_hash_table_insert (hash, g_strdup ("GIO_USE_VFS"), g_strdup ("local"));
75a7a3
+			g_hash_table_insert (hash, g_strdup ("GVFS_REMOTE_VOLUME_MONITOR_IGNORE"), g_strdup ("1"));
75a7a3
+		}
75a7a3
         }
75a7a3
 
75a7a3
         g_hash_table_insert (hash, g_strdup ("LOGNAME"), g_strdup (launch_environment->priv->user_name));
75a7a3
         g_hash_table_insert (hash, g_strdup ("USER"), g_strdup (launch_environment->priv->user_name));
75a7a3
         g_hash_table_insert (hash, g_strdup ("USERNAME"), g_strdup (launch_environment->priv->user_name));
75a7a3
 
75a7a3
         g_hash_table_insert (hash, g_strdup ("GDM_VERSION"), g_strdup (VERSION));
75a7a3
         g_hash_table_remove (hash, "MAIL");
75a7a3
 
75a7a3
         g_hash_table_insert (hash, g_strdup ("HOME"), g_strdup ("/"));
75a7a3
         g_hash_table_insert (hash, g_strdup ("PWD"), g_strdup ("/"));
75a7a3
         g_hash_table_insert (hash, g_strdup ("SHELL"), g_strdup ("/bin/sh"));
75a7a3
 
75a7a3
         gdm_get_pwent_for_name (launch_environment->priv->user_name, &pwent);
75a7a3
         if (pwent != NULL) {
75a7a3
                 if (pwent->pw_dir != NULL && pwent->pw_dir[0] != '\0') {
75a7a3
                         g_hash_table_insert (hash, g_strdup ("HOME"), g_strdup (pwent->pw_dir));
75a7a3
                         g_hash_table_insert (hash, g_strdup ("PWD"), g_strdup (pwent->pw_dir));
75a7a3
                 }
75a7a3
 
75a7a3
                 g_hash_table_insert (hash, g_strdup ("SHELL"), g_strdup (pwent->pw_shell));
75a7a3
         }
75a7a3
 
75a7a3
         if (start_session && launch_environment->priv->x11_display_seat_id != NULL) {
75a7a3
                 char *seat_id;
75a7a3
 
75a7a3
                 seat_id = launch_environment->priv->x11_display_seat_id;
75a7a3
 
75a7a3
                 g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
75a7a3
         }
75a7a3
-- 
75a7a3
2.12.0
75a7a3