File gdm-user-logout-issue.patch of Package gdm.16051

diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index d74bed6..8f9d44a 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -2590,6 +2590,15 @@ gdm_session_request_timed_login (GdmSession *self,
         }
 }
 
+void
+gdm_session_reauthenticated (GdmSession *self,
+                             const char *service_name)
+{
+    if (self->priv->greeter_interface != NULL) {
+        gdm_dbus_greeter_emit_reauthenticated (self->priv->greeter_interface, service_name);
+    }
+}
+
 gboolean
 gdm_session_client_is_connected (GdmSession *self)
 {
diff --git a/daemon/gdm-session.h b/daemon/gdm-session.h
index 2511eca..fc62610 100644
--- a/daemon/gdm-session.h
+++ b/daemon/gdm-session.h
@@ -161,6 +161,7 @@ void              gdm_session_request_timed_login         (GdmSession *session,
                                                            const char *username,
                                                            int         delay);
 gboolean          gdm_session_client_is_connected         (GdmSession *session);
+void              gdm_session_reauthenticated             (GdmSession *self, const char *service_name);
 
 G_END_DECLS
 
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index 217c33b..0cb7aae 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -537,6 +537,7 @@ start_session_timeout (GdmSimpleSlave  *slave)
                    when Xorg exits it switches to the VT it was
                    started from.  That interferes with fast
                    user switching. */
+                gdm_session_reauthenticated (slave->priv->session, slave->priv->start_session_service_name);
                 gdm_session_reset (slave->priv->session);
 
                 slave->priv->start_session_id = 0;