summaryrefslogtreecommitdiff
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
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
-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: