[gdm] display: fix get_timed_login_details when systemd is enabled but not running



commit 7c475b2937f89c582b3cd814bc9cdbf40afdd536
Author: Fabio Erculiani <lxnay sabayon org>
Date:   Sun Apr 21 08:59:58 2013 -0400

    display: fix get_timed_login_details when systemd is enabled but not running
    
    It's possible to build with systemd support, but not boot with systemd.
    In that case get_timed_login_details erroneously assumes the seat format
    will be systemd compatible (it checks if the seat is seat0).
    
    This commit guards the seat0 check with a sd_booted() > 0 check.

 daemon/gdm-display.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/daemon/gdm-display.c b/daemon/gdm-display.c
index 435dc1c..2a621df 100644
--- a/daemon/gdm-display.c
+++ b/daemon/gdm-display.c
@@ -33,6 +33,10 @@
 #include <glib/gi18n.h>
 #include <glib-object.h>
 
+#ifdef WITH_SYSTEMD
+#include <systemd/sd-daemon.h>
+#endif
+
 #include "gdm-display.h"
 #include "gdm-display-glue.h"
 #include "gdm-display-access-file.h"
@@ -361,8 +365,10 @@ gdm_display_real_get_timed_login_details (GdmDisplay *display,
          * can support auto/timed login on auxilliary seats in the
          * systemd path.
          */
-        if (g_strcmp0 (display->priv->seat_id, "seat0") != 0) {
-                goto out;
+        if (sd_booted() > 0) {
+                if (g_strcmp0 (display->priv->seat_id, "seat0") != 0) {
+                        goto out;
+                }
         }
 #endif
 


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