[gdm] daemon: emit verification-complete over bus before sending to worker



commit 3c0c1457d9c83cdcd65156f029686d1e11e233e9
Author: Ray Strode <rstrode redhat com>
Date:   Tue Jul 17 12:52:50 2012 -0400

    daemon: emit verification-complete over bus before sending to worker
    
    When performing reauthentication, the worker listens for the PAM
    conversation to finish and then resets the session object and bubbles
    it up to its parent as a 'reauthenticated' signal.
    
    This "reset the session" part means that after verification-complete
    has been emitted the greeter will get a Reset signal.  This signal
    gets sent before VerificationComplete is sent over the bus meaning
    the VerificationComplete signal is effectively neutered.
    
    This commit makes VerificationComplete to get sent over the private
    bus connection before Reset.
    
    Spotted by Giovanni Campagna <gcampagna src gnome org>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=622888

 daemon/gdm-session.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index 0e389fa..f9a3761 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -399,9 +399,9 @@ gdm_session_handle_accredited (GdmDBusWorkerManager  *worker_manager_interface,
         switch (self->priv->verification_mode) {
             case GDM_SESSION_VERIFICATION_MODE_REAUTHENTICATE:
                 if (self->priv->user_verifier_interface != NULL) {
-                        g_signal_emit (self, signals[VERIFICATION_COMPLETE], 0, service_name);
                         gdm_dbus_user_verifier_emit_verification_complete (self->priv->user_verifier_interface,
                                                                            service_name);
+                        g_signal_emit (self, signals[VERIFICATION_COMPLETE], 0, service_name);
                 }
                 break;
 
@@ -880,9 +880,9 @@ gdm_session_handle_opened (GdmDBusWorkerManager  *worker_manager_interface,
         }
 
         if (self->priv->user_verifier_interface != NULL) {
-                g_signal_emit (self, signals[VERIFICATION_COMPLETE], 0, service_name);
                 gdm_dbus_user_verifier_emit_verification_complete (self->priv->user_verifier_interface,
                                                                    service_name);
+                g_signal_emit (self, signals[VERIFICATION_COMPLETE], 0, service_name);
         }
 
         g_debug ("GdmSession: Emitting 'session-opened' signal");



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