sharkcz / rpms / gdm

Forked from rpms/gdm 4 years ago
Clone
Blob Blame History Raw
diff -up gdm-2.22.0/common/gdm-settings-keys.h.fix-auto-login gdm-2.22.0/common/gdm-settings-keys.h
--- gdm-2.22.0/common/gdm-settings-keys.h.fix-auto-login	2008-06-27 12:49:43.000000000 -0400
+++ gdm-2.22.0/common/gdm-settings-keys.h	2008-06-27 12:50:25.000000000 -0400
@@ -27,6 +27,8 @@ G_BEGIN_DECLS
 
 #define GDM_KEY_USER "daemon/User"
 #define GDM_KEY_GROUP "daemon/Group"
+#define GDM_KEY_AUTO_LOGIN_ENABLE "daemon/AutomaticLoginEnable"
+#define GDM_KEY_AUTO_LOGIN_USER "daemon/AutomaticLogin"
 #define GDM_KEY_TIMED_LOGIN_ENABLE "daemon/TimedLoginEnable"
 #define GDM_KEY_TIMED_LOGIN_USER "daemon/TimedLogin"
 #define GDM_KEY_TIMED_LOGIN_DELAY "daemon/TimedLoginDelay"
diff -up gdm-2.22.0/data/gdm.schemas.in.in.fix-auto-login gdm-2.22.0/data/gdm.schemas.in.in
--- gdm-2.22.0/data/gdm.schemas.in.in.fix-auto-login	2008-06-27 12:55:20.000000000 -0400
+++ gdm-2.22.0/data/gdm.schemas.in.in	2008-06-27 12:55:08.000000000 -0400
@@ -12,6 +12,16 @@
       <default>gdm</default>
     </schema>
     <schema>
+      <key>daemon/AutomaticLoginEnable</key>
+      <signature>b</signature>
+      <default>false</default>
+    </schema>
+    <schema>
+      <key>daemon/AutomaticLogin</key>
+      <signature>s</signature>
+      <default></default>
+    </schema>
+    <schema>
       <key>daemon/TimedLoginEnable</key>
       <signature>b</signature>
       <default>false</default>
diff -up gdm-2.22.0/daemon/gdm-simple-slave.c.fix-autologin gdm-2.22.0/daemon/gdm-simple-slave.c
--- gdm-2.22.0/daemon/gdm-simple-slave.c.fix-autologin	2008-06-27 12:47:26.000000000 -0400
+++ gdm-2.22.0/daemon/gdm-simple-slave.c	2008-06-27 12:54:21.000000000 -0400
@@ -427,12 +427,26 @@ get_timed_login_details (GdmSimpleSlave 
         gboolean res;
 
         enabled = FALSE;
+        res = gdm_settings_client_get_boolean (GDM_KEY_AUTO_LOGIN_ENABLE, &enabled);
+        if (enabled) {
+
+            *username = NULL;
+            res = gdm_settings_client_get_string (GDM_KEY_TIMED_LOGIN_USER, username);
+        }
+
+        if (enabled && *username != NULL)
+        {
+            *delay = 0;
+            return TRUE;
+        }
+
+        *username = NULL;
+        enabled = FALSE;
         res = gdm_settings_client_get_boolean (GDM_KEY_TIMED_LOGIN_ENABLE, &enabled);
         if (! enabled) {
                 return FALSE;
         }
 
-        *username = NULL;
         res = gdm_settings_client_get_string (GDM_KEY_TIMED_LOGIN_USER, username);
 
         if (username == NULL) {