summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gdm/gdm-session-worker_forward-vars.patch
blob: 401b6aea0c28e5e3b484e9151288cbadf7115f7c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index 9ef4c5b..94da834 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -1515,6 +1515,16 @@ gdm_session_worker_load_env_d (GdmSessionWorker *worker)
         g_object_unref (dir);
 }
 
+static void
+gdm_session_worker_forward_var (GdmSessionWorker *worker, char const *var)
+{
+        char const *value = g_getenv(var);
+        if (value != NULL) {
+                g_debug ("forwarding %s= %s", var, value);
+                gdm_session_worker_set_environment_variable(worker, var, value);
+        }
+}
+
 static gboolean
 gdm_session_worker_accredit_user (GdmSessionWorker  *worker,
                                   GError           **error)
@@ -1559,6 +1569,9 @@ gdm_session_worker_accredit_user (GdmSessionWorker  *worker,
                 goto out;
         }
 
+        gdm_session_worker_forward_var(worker, "GDM_X_SERVER_EXTRA_ARGS");
+        gdm_session_worker_forward_var(worker, "GDM_X_SESSION_WRAPPER");
+
         gdm_session_worker_update_environment_from_passwd_info (worker,
                                                                 uid,
                                                                 gid,