[gdm] xdmcp-display-factory: more signal prototype fixing



commit 86292092211ccce84b3bc8cd68b42e1e1da09a62
Author: Ray Strode <rstrode redhat com>
Date:   Thu Sep 21 09:20:46 2017 -0400

    xdmcp-display-factory: more signal prototype fixing
    
    commit 2a3d5a7c402534c3611956fed930394a51cb00c5 attempted to fix
    the signal prototype of on_client_disconnected to match the marshalled
    arguments.  Unfortunately, the handler is used for two different
    signals:
    
    1) when a user chooses "Disconnect" from the chooser menu
    2) when a user closes the Xephyr window (or turns off the thin client
    or whatever)
    
    The signals have slightly different prototypes, so commit 2a3d5a7c
    fixed 2), but broke 1).
    
    This commit massages the signal connections and handler signature to
    work for both cases.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=787987

 daemon/gdm-xdmcp-display-factory.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)
---
diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
index 3a8506c..46a0d9f 100644
--- a/daemon/gdm-xdmcp-display-factory.c
+++ b/daemon/gdm-xdmcp-display-factory.c
@@ -2050,8 +2050,7 @@ on_hostname_selected (GdmXdmcpChooserDisplay *display,
 }
 
 static void
-on_client_disconnected (GdmSession *session,
-                        GdmDisplay *display)
+on_client_disconnected (GdmDisplay *display)
 {
         if (gdm_display_get_status (display) != GDM_DISPLAY_MANAGED)
                 return;
@@ -2115,11 +2114,11 @@ on_display_status_changed (GdmDisplay             *display,
                         g_signal_connect_object (G_OBJECT (session),
                                                  "client-disconnected",
                                                  G_CALLBACK (on_client_disconnected),
-                                                 display, 0);
+                                                 display, G_CONNECT_SWAPPED);
                         g_signal_connect_object (G_OBJECT (session),
                                                  "disconnected",
                                                  G_CALLBACK (on_client_disconnected),
-                                                 display, 0);
+                                                 display, G_CONNECT_SWAPPED);
                 }
                 break;
         default:


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