[gdm] daemon: don't kill remote session slave at login



commit e7b3beb03459fd6b5b774694f7e0bb8fc5e58716
Author: Ray Strode <rstrode redhat com>
Date:   Fri Jul 20 13:46:19 2012 -0400

    daemon: don't kill remote session slave at login
    
    When a user disconnects from an XDMCP session we need
    to clean it up the associated slave.
    
    The function that did that was also erroneously cleaning up
    the slave when the greeter disconnected following the user
    successfully typing their password.
    
    This commit guards against the latter problem by checking if
    the session is started before deciding whether or not to
    kill the slave.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=680314

 daemon/gdm-simple-slave.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index 5f1ac1a..17bc14f 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -574,7 +574,7 @@ on_session_client_disconnected (GdmSession          *session,
                       "display-is-local", &display_is_local,
                       NULL);
 
-        if ( ! display_is_local) {
+        if ( ! display_is_local && !slave->priv->session_is_running) {
                 gdm_slave_stopped (GDM_SLAVE (slave));
         }
 }
@@ -1254,6 +1254,9 @@ gdm_simple_slave_stop (GdmSlave *slave)
                 gdm_simple_slave_revoke_console_permissions (self);
 #endif
 
+        }
+
+        if (self->priv->session != NULL) {
                 gdm_session_close (self->priv->session);
                 g_clear_object (&self->priv->session);
         }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]