[gdm] Fix XDMCP so it shows the greeter again after logout. Patch by Michael Young. Part of fix for bug



commit 0c34aa7949bc24a2a8b3217cefb3c978b892591b
Author: Brian Cameron <Brian Cameron sun com>
Date:   Thu Apr 22 16:13:21 2010 -0500

    Fix XDMCP so it shows the greeter again after logout.  Patch by Michael
    Young.  Part of fix for bug #606724.

 daemon/gdm-xdmcp-greeter-display.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gdm-xdmcp-greeter-display.c b/daemon/gdm-xdmcp-greeter-display.c
index 2273f4b..e836dda 100644
--- a/daemon/gdm-xdmcp-greeter-display.c
+++ b/daemon/gdm-xdmcp-greeter-display.c
@@ -59,6 +59,7 @@ enum {
 static void     gdm_xdmcp_greeter_display_class_init    (GdmXdmcpGreeterDisplayClass *klass);
 static void     gdm_xdmcp_greeter_display_init          (GdmXdmcpGreeterDisplay      *xdmcp_greeter_display);
 static void     gdm_xdmcp_greeter_display_finalize      (GObject                     *object);
+static gboolean gdm_xdmcp_greeter_display_finish (GdmDisplay *display);
 
 G_DEFINE_TYPE (GdmXdmcpGreeterDisplay, gdm_xdmcp_greeter_display, GDM_TYPE_XDMCP_DISPLAY)
 
@@ -66,8 +67,10 @@ static void
 gdm_xdmcp_greeter_display_class_init (GdmXdmcpGreeterDisplayClass *klass)
 {
         GObjectClass    *object_class = G_OBJECT_CLASS (klass);
+        GdmDisplayClass *display_class = GDM_DISPLAY_CLASS (klass);
 
         object_class->finalize = gdm_xdmcp_greeter_display_finalize;
+        display_class->finish = gdm_xdmcp_greeter_display_finish;
 
         g_type_class_add_private (klass, sizeof (GdmXdmcpGreeterDisplayPrivate));
 
@@ -96,6 +99,18 @@ gdm_xdmcp_greeter_display_finalize (GObject *object)
         G_OBJECT_CLASS (gdm_xdmcp_greeter_display_parent_class)->finalize (object);
 }
 
+static gboolean
+gdm_xdmcp_greeter_display_finish (GdmDisplay *display)
+{
+        g_return_val_if_fail (GDM_IS_DISPLAY (display), FALSE);
+
+        GDM_DISPLAY_CLASS (gdm_xdmcp_greeter_display_parent_class)->finish (display);
+
+        gdm_display_unmanage (display);
+
+        return TRUE;
+}
+
 GdmDisplay *
 gdm_xdmcp_greeter_display_new (const char              *hostname,
                                int                      number,



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