[gdm] daemon: stop slave when user disconnects
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gdm] daemon: stop slave when user disconnects
- Date: Thu, 3 Feb 2011 22:35:00 +0000 (UTC)
commit 390f710bd359ebc7ff807aefce7bf42e1a02ac8c
Author: Ray Strode <rstrode redhat com>
Date: Thu Feb 3 17:33:02 2011 -0500
daemon: stop slave when user disconnects
Previously, we would ignore any disconnect
requests and then the greeter would stick
around.
daemon/gdm-simple-slave.c | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index a03ccfc..e6b3c98 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -958,6 +958,23 @@ on_greeter_connected (GdmGreeterServer *greeter_server,
}
static void
+on_greeter_disconnected (GdmGreeterServer *greeter_server,
+ GdmSimpleSlave *slave)
+{
+ gboolean display_is_local;
+
+ g_debug ("GdmSimpleSlave: Greeter disconnected");
+
+ g_object_get (slave,
+ "display-is-local", &display_is_local,
+ NULL);
+
+ if ( ! display_is_local) {
+ gdm_slave_stopped (GDM_SLAVE (slave));
+ }
+}
+
+static void
on_start_session_when_ready (GdmGreeterServer *session,
GdmSimpleSlave *slave)
{
@@ -1070,6 +1087,10 @@ start_greeter (GdmSimpleSlave *slave)
G_CALLBACK (on_greeter_connected),
slave);
g_signal_connect (slave->priv->greeter_server,
+ "disconnected",
+ G_CALLBACK (on_greeter_disconnected),
+ slave);
+ g_signal_connect (slave->priv->greeter_server,
"cancelled",
G_CALLBACK (on_greeter_cancel),
slave);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]