summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2015-03-30 19:17:21 -0400
committerRay Strode <rstrode@redhat.com>2015-03-30 22:10:30 -0400
commit0fb8d70003a4d7ab79d704e132f06b513cbff44c (patch)
treea17f5b37d31b7d5f4e5ef923a02fea150bf1302e
parentc930d49d037c78651156bf5cf7f9c421bc9d8eeb (diff)
downloadgdm-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.c11
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);
}