summaryrefslogtreecommitdiff
path: root/liblightdm-gobject/greeter.c
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2016-07-13 13:30:41 +1200
committerRobert Ancell <robert.ancell@canonical.com>2016-07-13 13:30:41 +1200
commit93c291dddbc8793358faf96ccde325069b2f1ff8 (patch)
treebe4aea5c3f690c6a16ca3b5e07df0620d089defc /liblightdm-gobject/greeter.c
parentfd95eb6d6d08ce027692cb5579a6713e9f07efac (diff)
downloadlightdm-git-93c291dddbc8793358faf96ccde325069b2f1ff8.tar.gz
Clean up when greeter object destroyed
Diffstat (limited to 'liblightdm-gobject/greeter.c')
-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 62cb30d6..9c50a5d3 100644
--- a/liblightdm-gobject/greeter.c
+++ b/liblightdm-gobject/greeter.c
@@ -1884,8 +1884,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);
}