Sophie

Sophie

distrib > Mageia > 5 > x86_64 > by-pkgid > e520a3e525c7292a95b037466e21c9e6 > files > 3

gdm-3.14.2-5.1.mga5.src.rpm

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