summaryrefslogtreecommitdiff
path: root/daemon/gdm-slave.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/gdm-slave.c')
-rw-r--r--daemon/gdm-slave.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/daemon/gdm-slave.c b/daemon/gdm-slave.c
index ed4552ed..797de0d6 100644
--- a/daemon/gdm-slave.c
+++ b/daemon/gdm-slave.c
@@ -813,6 +813,18 @@ gdm_slave_stop (GdmSlave *slave)
{
g_debug ("Stopping slave");
+ if (slave->priv->greeter != NULL) {
+ gdm_greeter_stop (slave->priv->greeter);
+ g_object_unref (slave->priv->greeter);
+ slave->priv->greeter = NULL;
+ }
+
+ if (slave->priv->server != NULL) {
+ gdm_server_stop (slave->priv->server);
+ g_object_unref (slave->priv->server);
+ slave->priv->server = NULL;
+ }
+
if (slave->priv->display_proxy != NULL) {
g_object_unref (slave->priv->display_proxy);
}
@@ -965,6 +977,8 @@ gdm_slave_finalize (GObject *object)
g_return_if_fail (slave->priv != NULL);
+ gdm_slave_stop (slave);
+
G_OBJECT_CLASS (gdm_slave_parent_class)->finalize (object);
}