[gdm] manager: don't pass display to functions that fetch timed/autologin details



commit ed31a2b8daa1ad391c806c0c27cbe36c3135868a
Author: Ray Strode <rstrode redhat com>
Date:   Wed Mar 18 15:06:56 2015 -0400

    manager: don't pass display to functions that fetch timed/autologin details
    
    The only reason we need the display for autologin is to know if it's
    running on seat0 or not.  Going forward we won't necessarily have a
    display up front, so drop the parameter, and just check the seat
    in the caller.
    
    For symmetry, drop the display paramater timed login, too, and do
    the display related checks in the lone caller.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=746492

 daemon/gdm-manager.c |   52 +++++++++++++++++++++++++------------------------
 1 files changed, 27 insertions(+), 25 deletions(-)
---
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index 204e40d..a0a95f3 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -1467,14 +1467,12 @@ display_is_on_seat0 (GdmDisplay *display)
 }
 
 static gboolean
-get_timed_login_details_for_display (GdmManager *manager,
-                                     GdmDisplay *display,
-                                     char      **usernamep,
-                                     int        *delayp)
+get_timed_login_details (GdmManager *manager,
+                         char      **usernamep,
+                         int        *delayp)
 {
         gboolean res;
         gboolean enabled;
-        gboolean allow_timed_login = FALSE;
 
         int      delay;
         char    *username = NULL;
@@ -1483,16 +1481,6 @@ get_timed_login_details_for_display (GdmManager *manager,
         username = NULL;
         delay = 0;
 
-        g_object_get (G_OBJECT (display), "allow-timed-login", &allow_timed_login, NULL);
-
-        if (!allow_timed_login) {
-                goto out;
-        }
-
-        if (display_is_on_seat0 (display)) {
-                goto out;
-        }
-
         res = gdm_settings_direct_get_boolean (GDM_KEY_TIMED_LOGIN_ENABLE, &enabled);
         if (res && ! enabled) {
                 goto out;
@@ -1535,9 +1523,8 @@ get_timed_login_details_for_display (GdmManager *manager,
 }
 
 static gboolean
-get_automatic_login_details_for_display (GdmManager *manager,
-                                         GdmDisplay *display,
-                                         char      **usernamep)
+get_automatic_login_details (GdmManager *manager,
+                             char      **usernamep)
 {
         gboolean res;
         gboolean enabled;
@@ -1546,10 +1533,6 @@ get_automatic_login_details_for_display (GdmManager *manager,
         enabled = FALSE;
         username = NULL;
 
-        if (!display_is_on_seat0 (display)) {
-                goto out;
-        }
-
         res = gdm_settings_direct_get_boolean (GDM_KEY_AUTO_LOGIN_ENABLE, &enabled);
         if (res && enabled) {
             res = gdm_settings_direct_get_string (GDM_KEY_AUTO_LOGIN_USER, &username);
@@ -1591,7 +1574,11 @@ display_should_autologin (GdmManager *manager,
                 return FALSE;
         }
 
-        enabled = get_automatic_login_details_for_display (manager, display, NULL);
+        if (!display_is_on_seat0 (display)) {
+                return FALSE;
+        }
+
+        enabled = get_automatic_login_details (manager, NULL);
 
         return enabled;
 }
@@ -2158,6 +2145,7 @@ on_session_client_connected (GdmSession      *session,
         char    *username;
         int      delay;
         gboolean enabled;
+        gboolean allow_timed_login = FALSE;
 
         g_debug ("GdmManager: client connected");
 
@@ -2167,7 +2155,17 @@ on_session_client_connected (GdmSession      *session,
                 return;
         }
 
-        enabled = get_timed_login_details_for_display (manager, display, &username, &delay);
+        if (!display_is_on_seat0 (display)) {
+                return;
+        }
+
+        g_object_get (G_OBJECT (display), "allow-timed-login", &allow_timed_login, NULL);
+
+        if (!allow_timed_login) {
+                return;
+        }
+
+        enabled = get_timed_login_details (manager, &username, &delay);
 
         if (! enabled) {
                 return;
@@ -2283,7 +2281,11 @@ on_session_conversation_started (GdmSession *session,
                 return;
         }
 
-        enabled = get_automatic_login_details_for_display (manager, display, &username);
+        if (!display_is_on_seat0 (display)) {
+                return;
+        }
+
+        enabled = get_automatic_login_details (manager, &username);
 
         if (! enabled) {
                 return;


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