diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2016-07-29 15:47:03 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2016-07-29 15:47:03 +1200 |
commit | 6b84777270f2ad7b34579e8991767d51707b458b (patch) | |
tree | f337bbd7d0a0d57471a72f39ef358eb17bfc18de | |
parent | 0279407d31dda2ec0c2d330eeab91a30057512a5 (diff) | |
download | lightdm-git-6b84777270f2ad7b34579e8991767d51707b458b.tar.gz |
Clean up when greeter object destroyed
-rw-r--r-- | liblightdm-gobject/greeter.c | 12 |
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); } |