Blame SOURCES/0001-session-settings-Fetch-session-from-user-even-if-use.patch

84adb8
From 8a29f79124f38e2106b263bacb6b5ab4cdb255d0 Mon Sep 17 00:00:00 2001
84adb8
From: Ray Strode <rstrode@redhat.com>
84adb8
Date: Wed, 9 Mar 2022 10:46:21 -0500
84adb8
Subject: [PATCH] session-settings: Fetch session from user even if user isn't
84adb8
 cached
84adb8
84adb8
Now that accountsservice supports session templates, GDM can't assume
84adb8
that no-cache file means, there's nothing worth reading.
84adb8
84adb8
Unfortunately, GDM does exactly that. It bypasses fetching the users
84adb8
session if it doesn't think the user has one.
84adb8
84adb8
This commit removes that no-longer-correct optimization.
84adb8
---
84adb8
 daemon/gdm-session-settings.c | 4 ----
84adb8
 1 file changed, 4 deletions(-)
84adb8
84adb8
diff --git a/daemon/gdm-session-settings.c b/daemon/gdm-session-settings.c
84adb8
index 5b64cb65..fbf6897b 100644
84adb8
--- a/daemon/gdm-session-settings.c
84adb8
+++ b/daemon/gdm-session-settings.c
84adb8
@@ -270,64 +270,60 @@ gdm_session_settings_new (void)
84adb8
         GdmSessionSettings *settings;
84adb8
 
84adb8
         settings = g_object_new (GDM_TYPE_SESSION_SETTINGS,
84adb8
                                  NULL);
84adb8
 
84adb8
         return settings;
84adb8
 }
84adb8
 
84adb8
 gboolean
84adb8
 gdm_session_settings_is_loaded (GdmSessionSettings  *settings)
84adb8
 {
84adb8
         if (settings->priv->user == NULL) {
84adb8
                 return FALSE;
84adb8
         }
84adb8
 
84adb8
         return act_user_is_loaded (settings->priv->user);
84adb8
 }
84adb8
 
84adb8
 static void
84adb8
 load_settings_from_user (GdmSessionSettings *settings)
84adb8
 {
84adb8
         const char *session_name;
84adb8
         const char *session_type;
84adb8
         const char *language_name;
84adb8
 
84adb8
         if (!act_user_is_loaded (settings->priv->user)) {
84adb8
                 g_warning ("GdmSessionSettings: trying to load user settings from unloaded user");
84adb8
                 return;
84adb8
         }
84adb8
 
84adb8
-        /* if the user doesn't have saved state, they don't have any settings worth reading */
84adb8
-        if (!act_user_get_saved (settings->priv->user))
84adb8
-                goto out;
84adb8
-
84adb8
         session_type = act_user_get_session_type (settings->priv->user);
84adb8
         session_name = act_user_get_session (settings->priv->user);
84adb8
 
84adb8
         g_debug ("GdmSessionSettings: saved session is %s (type %s)", session_name, session_type);
84adb8
 
84adb8
         if (session_type != NULL && session_type[0] != '\0') {
84adb8
                 gdm_session_settings_set_session_type (settings, session_type);
84adb8
         }
84adb8
 
84adb8
         if (session_name != NULL && session_name[0] != '\0') {
84adb8
                 gdm_session_settings_set_session_name (settings, session_name);
84adb8
         }
84adb8
 
84adb8
         language_name = act_user_get_language (settings->priv->user);
84adb8
 
84adb8
         g_debug ("GdmSessionSettings: saved language is %s", language_name);
84adb8
         if (language_name != NULL && language_name[0] != '\0') {
84adb8
                 gdm_session_settings_set_language_name (settings, language_name);
84adb8
         }
84adb8
 
84adb8
 out:
84adb8
         g_object_notify (G_OBJECT (settings), "is-loaded");
84adb8
 }
84adb8
 
84adb8
 static void
84adb8
 on_user_is_loaded_changed (ActUser            *user,
84adb8
                            GParamSpec         *pspec,
84adb8
                            GdmSessionSettings *settings)
84adb8
 {
84adb8
         if (act_user_is_loaded (settings->priv->user)) {
84adb8
-- 
84adb8
2.34.1
84adb8