diff options
author | Ray Strode <rstrode@redhat.com> | 2017-09-21 09:20:46 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2017-09-21 09:23:48 -0400 |
commit | 86292092211ccce84b3bc8cd68b42e1e1da09a62 (patch) | |
tree | 5b11598b29c9671b6546abba318b048b8d7cafa5 /daemon/gdm-xdmcp-display-factory.c | |
parent | 2b52d8933c8ab38e7ee83318da2363d00d8c5581 (diff) | |
download | gdm-86292092211ccce84b3bc8cd68b42e1e1da09a62.tar.gz |
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
Diffstat (limited to 'daemon/gdm-xdmcp-display-factory.c')
-rw-r--r-- | 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 3a8506ce..46a0d9ff 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: |