[gdm/multi-stack: 1/31] Don't send auth-failed when worker dies



commit e9896d2a26b0f72271a1796334d65d2da2a93e83
Author: Ray Strode <rstrode redhat com>
Date:   Wed May 13 13:43:33 2009 -0400

    Don't send auth-failed when worker dies
    
    Authentication hasn't failed, it just got aborted before it
    could.  This prevents a crash that happens when switching
    runlevels while the login screen is up.

 daemon/gdm-session-direct.c |   12 ++----------
 1 files changed, 2 insertions(+), 10 deletions(-)
---
diff --git a/daemon/gdm-session-direct.c b/daemon/gdm-session-direct.c
index b6abae4..8eadf4d 100644
--- a/daemon/gdm-session-direct.c
+++ b/daemon/gdm-session-direct.c
@@ -78,7 +78,6 @@ struct _GdmSessionDirectPrivate
 
         GdmSessionWorkerJob *job;
         GPid                 session_pid;
-        guint32              is_authenticated : 1;
         guint32              is_running : 1;
 
         /* object lifetime scope */
@@ -335,7 +334,6 @@ gdm_session_direct_handle_authenticated (GdmSessionDirect *session,
         dbus_connection_send (connection, reply, NULL);
         dbus_message_unref (reply);
 
-        session->priv->is_authenticated = TRUE;
         _gdm_session_authenticated (GDM_SESSION (session));
 
         return DBUS_HANDLER_RESULT_HANDLED;
@@ -363,7 +361,6 @@ gdm_session_direct_handle_authentication_failed (GdmSessionDirect *session,
 
         g_debug ("GdmSessionDirect: Emitting 'authentication-failed' signal");
 
-        session->priv->is_authenticated = FALSE;
         _gdm_session_authentication_failed (GDM_SESSION (session), text);
 
         return DBUS_HANDLER_RESULT_HANDLED;
@@ -1552,9 +1549,7 @@ worker_exited (GdmSessionWorkerJob *job,
 {
         g_debug ("GdmSessionDirect: Worker job exited: %d", code);
 
-        if (!session->priv->is_authenticated) {
-                _gdm_session_authentication_failed (GDM_SESSION (session), NULL);
-        } else if (session->priv->is_running) {
+        if (session->priv->is_running) {
                 _gdm_session_session_exited (GDM_SESSION (session), code);
         }
 }
@@ -1566,9 +1561,7 @@ worker_died (GdmSessionWorkerJob *job,
 {
         g_debug ("GdmSessionDirect: Worker job died: %d", signum);
 
-        if (!session->priv->is_authenticated) {
-                _gdm_session_authentication_failed (GDM_SESSION (session), NULL);
-        } else if (session->priv->is_running) {
+        if (session->priv->is_running) {
                 _gdm_session_session_died (GDM_SESSION (session), signum);
         }
 }
@@ -2037,7 +2030,6 @@ gdm_session_direct_close (GdmSession *session)
         g_hash_table_remove_all (impl->priv->environment);
 
         impl->priv->session_pid = -1;
-        impl->priv->is_authenticated = FALSE;
         impl->priv->is_running = FALSE;
 }
 



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