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 19:18:04 -0400
commitb48e39e0dc7623ae728bbf4a928e150e0138d673 (patch)
tree38688dd9fa63baf6324061c0ba1485d257166a07
parent1794e440905b44133fedae64e6a7b7f0f58ed143 (diff)
downloadgdm-b48e39e0dc7623ae728bbf4a928e150e0138d673.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 7b2cf65b..db008c0d 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -2823,8 +2823,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,
@@ -2856,8 +2860,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);
}