From 0fb8d70003a4d7ab79d704e132f06b513cbff44c Mon Sep 17 00:00:00 2001 From: Ray Strode <rstrode@redhat.com> Date: Mon, 30 Mar 2015 19:16:56 -0400 Subject: [PATCH 3/4] 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 --- daemon/gdm-manager.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c index e572daa..172fda4 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); } -- 2.3.1