From cc56e3e286232da24a6508650b7ef026a494535b Mon Sep 17 00:00:00 2001 From: Xan Lopez Date: Sun, 10 Oct 2010 23:38:40 +0900 Subject: ephy-node-db: make the db unref all remaining nodes on destruction --- lib/ephy-node-db.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/ephy-node-db.c') diff --git a/lib/ephy-node-db.c b/lib/ephy-node-db.c index 2a9563198..1a80e779f 100644 --- a/lib/ephy-node-db.c +++ b/lib/ephy-node-db.c @@ -93,13 +93,20 @@ ephy_node_db_set_property (GObject *object, } } +static void +ephy_node_db_free_func (EphyNode *node) +{ + if (node) + ephy_node_unref (node); +} + static void ephy_node_db_init (EphyNodeDb *db) { db->priv = EPHY_NODE_DB_GET_PRIVATE (db); /* id to node */ - db->priv->id_to_node = g_ptr_array_new (); + db->priv->id_to_node = g_ptr_array_new_with_free_func ((GDestroyNotify)ephy_node_db_free_func); /* id factory */ db->priv->id_factory = RESERVED_IDS; -- cgit v1.2.3