diff options
author | William Jon McCann <mccann@src.gnome.org> | 2007-07-16 20:33:55 +0000 |
---|---|---|
committer | William Jon McCann <mccann@src.gnome.org> | 2007-07-16 20:33:55 +0000 |
commit | b8c26c84a0c5ff4df0556b7d8d5675a714b91656 (patch) | |
tree | a5498a9efa7db9ae91b998bd528359f3e35ada5f /daemon | |
parent | 0b0e96edbde15be1cf78e541f9e2d8a4a7e905c1 (diff) | |
download | gdm-b8c26c84a0c5ff4df0556b7d8d5675a714b91656.tar.gz |
Make logout work
svn path=/branches/mccann-gobject/; revision=5073
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/gdm-product-slave.c | 17 | ||||
-rw-r--r-- | daemon/gdm-slave.c | 8 | ||||
-rw-r--r-- | daemon/gdm-slave.h | 2 |
3 files changed, 18 insertions, 9 deletions
diff --git a/daemon/gdm-product-slave.c b/daemon/gdm-product-slave.c index 4093b624..e9b1b9d4 100644 --- a/daemon/gdm-product-slave.c +++ b/daemon/gdm-product-slave.c @@ -95,9 +95,6 @@ enum { }; enum { - SESSION_STARTED, - SESSION_EXITED, - SESSION_DIED, LAST_SIGNAL }; @@ -425,19 +422,20 @@ on_session_started (GdmSession *session, GdmProductSlave *slave) { g_debug ("session started on pid %d", (int) pid); - g_signal_emit (slave, signals [SESSION_STARTED], 0, pid); + /*g_signal_emit (slave, signals [SESSION_STARTED], 0, pid);*/ relay_session_started (slave); disconnect_relay (slave); } static void -on_session_exited (GdmSession *session, - int exit_code, - GdmProductSlave *slave) +on_session_exited (GdmSession *session, + int exit_code, + GdmProductSlave *slave) { g_debug ("session exited with code %d", exit_code); - g_signal_emit (slave, signals [SESSION_EXITED], 0, exit_code); + + gdm_slave_stopped (GDM_SLAVE (slave)); } static void @@ -448,7 +446,8 @@ on_session_died (GdmSession *session, g_debug ("session died with signal %d, (%s)", signal_number, g_strsignal (signal_number)); - g_signal_emit (slave, signals [SESSION_DIED], 0, signal_number); + + gdm_slave_stopped (GDM_SLAVE (slave)); } static gboolean diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c index 9f49839e..e415b3f9 100644 --- a/daemon/gdm-slave.c +++ b/daemon/gdm-slave.c @@ -306,6 +306,14 @@ gdm_slave_stop (GdmSlave *slave) return ret; } +void +gdm_slave_stopped (GdmSlave *slave) +{ + g_return_if_fail (GDM_IS_SLAVE (slave)); + + g_signal_emit (slave, signals [STOPPED], 0); +} + static void _gdm_slave_set_display_id (GdmSlave *slave, const char *id) diff --git a/daemon/gdm-slave.h b/daemon/gdm-slave.h index ffff3fd4..1ac1c316 100644 --- a/daemon/gdm-slave.h +++ b/daemon/gdm-slave.h @@ -57,6 +57,8 @@ GType gdm_slave_get_type (void); gboolean gdm_slave_start (GdmSlave *slave); gboolean gdm_slave_stop (GdmSlave *slave); +void gdm_slave_stopped (GdmSlave *slave); + G_END_DECLS #endif /* __GDM_SLAVE_H */ |