summaryrefslogtreecommitdiff
path: root/daemon/gdm-xdmcp-display-factory.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2017-09-21 09:20:46 -0400
committerRay Strode <rstrode@redhat.com>2017-09-21 09:23:48 -0400
commit86292092211ccce84b3bc8cd68b42e1e1da09a62 (patch)
tree5b11598b29c9671b6546abba318b048b8d7cafa5 /daemon/gdm-xdmcp-display-factory.c
parent2b52d8933c8ab38e7ee83318da2363d00d8c5581 (diff)
downloadgdm-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.c7
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: