summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2016-07-29 15:47:03 +1200
committerRobert Ancell <robert.ancell@canonical.com>2016-07-29 15:47:03 +1200
commit6b84777270f2ad7b34579e8991767d51707b458b (patch)
treef337bbd7d0a0d57471a72f39ef358eb17bfc18de
parent0279407d31dda2ec0c2d330eeab91a30057512a5 (diff)
downloadlightdm-git-6b84777270f2ad7b34579e8991767d51707b458b.tar.gz
Clean up when greeter object destroyed
-rw-r--r--liblightdm-gobject/greeter.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/liblightdm-gobject/greeter.c b/liblightdm-gobject/greeter.c
index 6c279b2c..8cd1ee18 100644
--- a/liblightdm-gobject/greeter.c
+++ b/liblightdm-gobject/greeter.c
@@ -1748,8 +1748,18 @@ lightdm_greeter_finalize (GObject *object)
g_io_channel_unref (priv->to_server_channel);
if (priv->from_server_channel)
g_io_channel_unref (priv->from_server_channel);
- g_free (priv->authentication_user);
+ g_clear_pointer (&priv->read_buffer, g_free);
+ g_list_free_full (priv->responses_received, g_free);
+ priv->responses_received = NULL;
+ g_list_free_full (priv->connect_requests, g_object_unref);
+ priv->connect_requests = NULL;
+ g_list_free_full (priv->start_session_requests, g_object_unref);
+ priv->start_session_requests = NULL;
+ g_list_free_full (priv->ensure_shared_data_dir_requests, g_object_unref);
+ priv->ensure_shared_data_dir_requests = NULL;
+ g_clear_pointer (&priv->authentication_user, g_free);
g_hash_table_unref (priv->hints);
+ priv->hints = NULL;
G_OBJECT_CLASS (lightdm_greeter_parent_class)->finalize (object);
}