[gdm/rhel-7.9: 3/51] worker: add compat patch to make new worker work with old daemon
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm/rhel-7.9: 3/51] worker: add compat patch to make new worker work with old daemon
- Date: Mon, 12 Apr 2021 20:58:08 +0000 (UTC)
commit 3e601bcc085bd82f3e8e70d34c7bc518ce3e8a91
Author: Ray Strode <rstrode redhat com>
Date: Mon Apr 12 16:57:49 2021 -0400
worker: add compat patch to make new worker work with old daemon
daemon/gdm-session-worker.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
---
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index 10ecccb07..f71594c22 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -3167,6 +3167,21 @@ gdm_session_worker_handle_setup_for_program (GdmDBusWorker *object,
return TRUE;
}
+static void
+fix_environment_if_old_gdm_daemon_running (GdmSessionWorker *worker)
+{
+ const char *daemon_version;
+ const char *username;
+
+ daemon_version = gdm_session_worker_get_environment_variable (worker, "GDM_VERSION");
+ username = gdm_session_worker_get_environment_variable (worker, "USERNAME");
+
+ if (g_strcmp0 (daemon_version, "3.14.2") == 0 &&
+ g_strcmp0 (username, "gdm") == 0) {
+ gdm_session_worker_set_environment_variable (worker, "GNOME_SHELL_SESSION_MODE", "gdm");
+ }
+}
+
static gboolean
gdm_session_worker_handle_start_program (GdmDBusWorker *object,
GDBusMethodInvocation *invocation,
@@ -3176,6 +3191,8 @@ gdm_session_worker_handle_start_program (GdmDBusWorker *object,
GError *parse_error = NULL;
validate_state_change (worker, invocation, GDM_SESSION_WORKER_STATE_SESSION_STARTED);
+ fix_environment_if_old_gdm_daemon_running (worker);
+
if (worker->priv->is_reauth_session) {
g_dbus_method_invocation_return_error (invocation,
GDM_SESSION_WORKER_ERROR,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]