Hello community,

here is the log from the commit of package gdm for openSUSE:Factory
checked in at Mon Sep 19 16:53:25 CEST 2011.



--------
--- GNOME/gdm/gdm.changes       2011-09-10 08:07:18.000000000 +0200
+++ /mounts/work_src_done/STABLE/gdm/gdm.changes        2011-09-16 
15:29:40.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 16 13:29:15 UTC 2011 - vu...@opensuse.org
+
+- Add gdm-fix-autologin.patch: fix autologin, taken from git.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  gdm-fix-autologin.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gdm.spec ++++++
--- /var/tmp/diff_new_pack.tzS3WA/_old  2011-09-19 16:53:19.000000000 +0200
+++ /var/tmp/diff_new_pack.tzS3WA/_new  2011-09-19 16:53:19.000000000 +0200
@@ -67,6 +67,8 @@
 Patch35:        gdm-xauthlocalhostname.patch
 # PATCH-FIX-UPSTREAM gdm-look-at-runlevel.patch bnc540482 bgo599180 
vu...@opensuse.org -- Look at the current runlevel before managing the display 
again, so we don't do this when shutting down or rebooting
 Patch40:        gdm-look-at-runlevel.patch
+# PATCH-FIX-UPSTREAM gdm-fix-autologin.patch vu...@opensuse.org -- Fix 
autologin, taken from git
+Patch41:        gdm-fix-autologin.patch
 # PATCH-FIX-OPENSUSE gdm-selinux.patch -- Small changes to make it compile 
fine with SELinux
 Patch60:        gdm-selinux.patch
 BuildRequires:  check-devel
@@ -155,7 +157,6 @@
 
 %package simple-greeter-extensions
 
-
 License:        GPLv2+
 Summary:        GDM Simple Greeter Extensions -- Fingerprint and Smartcard 
Support
 Group:          System/Libraries
@@ -235,6 +236,7 @@
 %patch34 -p1
 %patch35 -p0
 %patch40 -p1
+%patch41 -p1
 %patch60
 #gnome-patch-translation-update
 

++++++ gdm-fix-autologin.patch ++++++
>From aad28c8bce222e9d5461c3b35dbf5f9eb4a86e82 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstr...@redhat.com>
Date: Tue, 13 Sep 2011 14:26:59 +0000
Subject: daemon: fix autologin

In commit 6849f6f3b8a199bed5427b8d6f1e2dedbe035d6c
the code was changed to stop the greeter asynchronously
and start the session following its completion.

Autologin doesn't have a greeter though, so this broke
it.

This commit fixes autologin.

https://bugzilla.gnome.org/show_bug.cgi?id=658899
---
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index 2f38bf6..ab69194 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -108,6 +108,7 @@ G_DEFINE_TYPE (GdmSimpleSlave, gdm_simple_slave, 
GDM_TYPE_SLAVE)
 static void create_new_session (GdmSimpleSlave *slave);
 static void destroy_session    (GdmSimpleSlave *slave);
 static void start_greeter      (GdmSimpleSlave *slave);
+static void start_session      (GdmSimpleSlave *slave);
 static void queue_start_session (GdmSimpleSlave *slave,
                                  const char     *service_name);
 
@@ -449,6 +450,29 @@ stop_greeter (GdmSimpleSlave *slave)
         gdm_welcome_session_stop (GDM_WELCOME_SESSION (slave->priv->greeter));
 }
 
+static void
+start_session (GdmSimpleSlave *slave)
+{
+        char    *auth_file;
+        auth_file = NULL;
+        add_user_authorization (slave, &auth_file);
+
+        g_assert (auth_file != NULL);
+
+        g_object_set (slave->priv->session,
+                      "user-x11-authority-file", auth_file,
+                      NULL);
+
+        g_free (auth_file);
+
+        gdm_session_start_session (GDM_SESSION (slave->priv->session),
+                                   slave->priv->start_session_service_name);
+
+        slave->priv->start_session_id = 0;
+        g_free (slave->priv->start_session_service_name);
+        slave->priv->start_session_service_name = NULL;
+}
+
 static gboolean
 start_session_timeout (GdmSimpleSlave *slave)
 {
@@ -472,8 +496,13 @@ start_session_timeout (GdmSimpleSlave *slave)
                 g_free (slave->priv->start_session_service_name);
                 slave->priv->start_session_service_name = NULL;
         } else {
-                /* Session actually gets started from 
on_greeter_session_stopped */
-                stop_greeter (slave);
+                if (slave->priv->greeter == NULL) {
+                        /* auto login */
+                        start_session (slave);
+                } else {
+                        /* Session actually gets started from 
on_greeter_session_stop */
+                        stop_greeter (slave);
+                }
         }
 
         return FALSE;
@@ -972,25 +1001,7 @@ on_greeter_session_stop (GdmGreeterSession *greeter,
                 gdm_slave_stopped (GDM_SLAVE (slave));
         } else {
                 gdm_greeter_server_stop (slave->priv->greeter_server);
-
-                char    *auth_file;
-                auth_file = NULL;
-                add_user_authorization (slave, &auth_file);
-
-                g_assert (auth_file != NULL);
-
-                g_object_set (slave->priv->session,
-                              "user-x11-authority-file", auth_file,
-                              NULL);
-
-                g_free (auth_file);
-
-                gdm_session_start_session (GDM_SESSION (slave->priv->session),
-                                           
slave->priv->start_session_service_name);
-
-                slave->priv->start_session_id = 0;
-                g_free (slave->priv->start_session_service_name);
-                slave->priv->start_session_service_name = NULL;
+                start_session (slave);
         }
 
         g_object_unref (slave->priv->greeter);
--
cgit v0.9.0.2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to