diff options
author | Ray Strode <rstrode@redhat.com> | 2015-03-30 19:17:21 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2015-03-30 22:10:30 -0400 |
commit | 0fb8d70003a4d7ab79d704e132f06b513cbff44c (patch) | |
tree | a17f5b37d31b7d5f4e5ef923a02fea150bf1302e | |
parent | c930d49d037c78651156bf5cf7f9c421bc9d8eeb (diff) | |
download | gdm-0fb8d70003a4d7ab79d704e132f06b513cbff44c.tar.gz |
manager: NULL unreferenced objects in dispose
Now that we're using a dispose handler instead of a finalize handler,
we need to make sure we nullify our objects after unrefing them.
https://bugzilla.gnome.org/show_bug.cgi?id=745975
-rw-r--r-- | daemon/gdm-manager.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index e572daae..172fda4a 100644 --- a/daemon/gdm-manager.c +++ b/daemon/gdm-manager.c @@ -2313,8 +2313,12 @@ gdm_manager_dispose (GObject *object) g_clear_object (&manager->priv->xdmcp_factory); #endif g_clear_object (&manager->priv->local_factory); - g_hash_table_unref (manager->priv->open_reauthentication_requests); - g_hash_table_unref (manager->priv->transient_sessions); + g_clear_pointer (&manager->priv->open_reauthentication_requests, + (GDestroyNotify) + g_hash_table_unref); + g_clear_pointer (&manager->priv->transient_sessions, + (GDestroyNotify) + g_hash_table_unref); g_list_foreach (manager->priv->user_sessions, (GFunc) gdm_session_close, @@ -2346,8 +2350,7 @@ gdm_manager_dispose (GObject *object) g_clear_object (&manager->priv->connection); g_clear_object (&manager->priv->object_manager); - - g_object_unref (manager->priv->display_store); + g_clear_object (&manager->priv->display_store); G_OBJECT_CLASS (gdm_manager_parent_class)->dispose (object); } |