summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2022-04-07 12:44:10 -0400
committerRay Strode <rstrode@redhat.com>2022-04-07 12:46:53 -0400
commitcf4664891ede9648d096569900e8b95abd91a633 (patch)
tree53a79664a5c4a8e1dd4e1a143ceee14d24840c85
parent4a52f026dc0b218a2ca33fa32853c71a0f88a2b4 (diff)
downloadgdm-cf4664891ede9648d096569900e8b95abd91a633.tar.gz
session-settings: Explicitly cache remote users
Right now a user's cache file won't get written out if they are logging in with entirely default settings. This means remote users have to type in their usernames manually until they change their session. This commit explicitly caches remote users. Closes: https://gitlab.gnome.org/GNOME/gdm/-/issues/743
-rw-r--r--daemon/gdm-session-settings.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/daemon/gdm-session-settings.c b/daemon/gdm-session-settings.c
index 5b64cb65..ef5d72e7 100644
--- a/daemon/gdm-session-settings.c
+++ b/daemon/gdm-session-settings.c
@@ -406,6 +406,19 @@ gdm_session_settings_save (GdmSessionSettings *settings,
if (settings->priv->language_name != NULL) {
act_user_set_language (user, settings->priv->language_name);
}
+
+ if (!act_user_is_local_account (user)) {
+ g_autoptr (GError) error = NULL;
+
+ act_user_manager_cache_user (settings->priv->user_manager, username, &error);
+
+ if (error != NULL) {
+ g_debug ("GdmSessionSettings: Could not locally cache remote user: %s", error->message);
+ g_object_unref (user);
+ return FALSE;
+ }
+
+ }
g_object_unref (user);
return TRUE;