[gdm] manager: don't pass display to functions that fetch timed/autologin details
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] manager: don't pass display to functions that fetch timed/autologin details
- Date: Fri, 20 Mar 2015 00:28:44 +0000 (UTC)
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]