From 0012497171500090b55e4c8e967809a5b2daaa94 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Wed, 14 Feb 2018 16:07:15 -0500
Subject: [PATCH] Revert "session: don't call gdm_session_defaults_changed from
 setup"

This reverts commit 572a19324b75cc1f1b2db4908e2d7c9f06e4e335.

It turns out we need this call for more than just the session type,
we also need to it to inform the greeter about the default session
to use.
---
 daemon/gdm-session.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 3a1b7f23..e9cbd0ec 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2368,78 +2368,80 @@ initialize (GdmSession *self,
                 g_variant_builder_add_parsed (&details, "{'seat-id', <%s>}", self->priv->display_seat_id);
 
         if (self->priv->display_x11_authority_file != NULL)
                 g_variant_builder_add_parsed (&details, "{'x11-authority-file', <%s>}", self->priv->display_x11_authority_file);
 
         g_debug ("GdmSession: Beginning initialization");
 
         conversation = find_conversation_by_name (self, service_name);
         if (conversation != NULL) {
                 gdm_dbus_worker_call_initialize (conversation->worker_proxy,
                                                  g_variant_builder_end (&details),
 
                                                  conversation->worker_cancellable,
                                                  (GAsyncReadyCallback) on_initialization_complete_cb,
                                                  conversation);
         }
 
         g_free (extensions);
 }
 
 void
 gdm_session_setup (GdmSession *self,
                    const char *service_name)
 {
 
         g_return_if_fail (GDM_IS_SESSION (self));
 
         update_session_type (self);
 
         initialize (self, service_name, NULL, NULL);
+        gdm_session_defaults_changed (self);
 }
 
 
 void
 gdm_session_setup_for_user (GdmSession *self,
                             const char *service_name,
                             const char *username)
 {
 
         g_return_if_fail (GDM_IS_SESSION (self));
         g_return_if_fail (username != NULL);
 
         update_session_type (self);
 
         gdm_session_select_user (self, username);
 
         self->priv->is_program_session = FALSE;
         initialize (self, service_name, self->priv->selected_user, NULL);
+        gdm_session_defaults_changed (self);
 }
 
 void
 gdm_session_setup_for_program (GdmSession *self,
                                const char *service_name,
                                const char *username,
                                const char *log_file)
 {
 
         g_return_if_fail (GDM_IS_SESSION (self));
 
         self->priv->is_program_session = TRUE;
         initialize (self, service_name, username, log_file);
 }
 
 void
 gdm_session_authenticate (GdmSession *self,
                           const char *service_name)
 {
         GdmSessionConversation *conversation;
 
         g_return_if_fail (GDM_IS_SESSION (self));
 
         conversation = find_conversation_by_name (self, service_name);
         if (conversation != NULL) {
                 gdm_dbus_worker_call_authenticate (conversation->worker_proxy,
                                                    conversation->worker_cancellable,
                                                    (GAsyncReadyCallback) on_authenticate_cb,
                                                    conversation);
         }
-- 
2.14.3

