Blob Blame History Raw
From af841691f3e48ff7635df21703115c5b109ba9dc Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Fri, 31 Mar 2017 14:58:26 -0400
Subject: [PATCH 08/13] xdmcp-display-factory: fix signal prototype

The callback was getting called with the wrong arguments leading
to spew in the logs and necessary code not getting run!
---
 daemon/gdm-xdmcp-display-factory.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
index b9ab921c..c5f7ddb4 100644
--- a/daemon/gdm-xdmcp-display-factory.c
+++ b/daemon/gdm-xdmcp-display-factory.c
@@ -2023,61 +2023,62 @@ on_hostname_selected (GdmXdmcpChooserDisplay *display,
 #ifdef AI_V4MAPPED
         hints.ai_flags = AI_V4MAPPED;
 #endif
 
         xdmcp_port = g_strdup_printf ("%d", XDM_UDP_PORT);
         if ((gaierr = getaddrinfo (hostname, xdmcp_port, &hints, &ai_list)) != 0) {
                 g_warning ("Unable to get address: %s", gai_strerror (gaierr));
                 g_free (xdmcp_port);
                 return;
         }
         g_free (xdmcp_port);
 
         /* just take the first one */
         ai = ai_list;
 
         if (ai != NULL) {
                 char *ip;
                 ic->chosen_address = gdm_address_new_from_sockaddr (ai->ai_addr, ai->ai_addrlen);
 
                 ip = NULL;
                 gdm_address_get_numeric_info (ic->chosen_address, &ip, NULL);
                 g_debug ("GdmXdmcpDisplayFactory: hostname resolves to %s",
                         ip ? ip : "(null)");
                 g_free (ip);
         }
 
         freeaddrinfo (ai_list);
 }
 
 static void
-on_client_disconnected (GdmDisplay *display)
+on_client_disconnected (GdmSession *session,
+                        GdmDisplay *display)
 {
         if (gdm_display_get_status (display) != GDM_DISPLAY_MANAGED)
                 return;
 
         gdm_display_unmanage (display);
         gdm_display_finish (display);
 }
 
 static void
 on_display_status_changed (GdmDisplay             *display,
                            GParamSpec             *arg1,
                            GdmXdmcpDisplayFactory *factory)
 {
         int              status;
         GdmDisplayStore *store;
         GdmLaunchEnvironment *launch_environment;
         GdmSession *session;
         GdmAddress *address;
         gint32  session_number;
         int display_number;
 
         store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
 
         launch_environment = NULL;
         g_object_get (display, "launch-environment", &launch_environment, NULL);
 
         session = NULL;
         if (launch_environment != NULL) {
                 session = gdm_launch_environment_get_session (launch_environment);
         }
-- 
2.12.0