diff options
author | Ray Strode <rstrode@redhat.com> | 2021-09-06 08:40:46 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2021-09-06 09:12:52 -0400 |
commit | d17fdb8521576f90191c077806b7f470f6a37be0 (patch) | |
tree | 3b78124a88d016be461d617006e127d57b1109df | |
parent | 2c499c2586acc3859387e0b7197e8122231c805d (diff) | |
download | gdm-d17fdb8521576f90191c077806b7f470f6a37be0.tar.gz |
daemon: Don't update session type if no saved session
At the moment we always set the session type when the session name
is read. But users don't always have a session type specified.
If they don't, then don't set the session type.
https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/153
-rw-r--r-- | daemon/gdm-session.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c index 11762bfb..c1e2be00 100644 --- a/daemon/gdm-session.c +++ b/daemon/gdm-session.c @@ -1022,19 +1022,22 @@ worker_on_saved_session_name_read (GdmDBusWorker *worker, g_debug ("GdmSession: not using invalid .dmrc session: %s", session_name); g_free (self->saved_session); self->saved_session = NULL; - } else if (strcmp (session_name, - get_default_session_name (self)) != 0) { - g_free (self->saved_session); - self->saved_session = g_strdup (session_name); - - if (self->greeter_interface != NULL) { - gdm_dbus_greeter_emit_default_session_name_changed (self->greeter_interface, - session_name); + update_session_type (self); + } else { + if (strcmp (session_name, + get_default_session_name (self)) != 0) { + g_free (self->saved_session); + self->saved_session = g_strdup (session_name); + + if (self->greeter_interface != NULL) { + gdm_dbus_greeter_emit_default_session_name_changed (self->greeter_interface, + session_name); + } } + if (self->saved_session_type != NULL) + set_session_type (self, self->saved_session_type); } - update_session_type (self); - } static void |