File gdm-user-logout-issue.patch of Package gdm.1499
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;