aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@it.gnome.org>2003-05-26 04:41:38 +0800
committerMarco Pesenti Gritti <mpeseng@src.gnome.org>2003-05-26 04:41:38 +0800
commitd98d12f99aef8f32f08b1c2bfaaa0eaf73f36df5 (patch)
treed8144b28794f41d26b2077175ca551035dd5fa9c /lib
parent9ae7960ca8c3ca534ba07bb6d58b430ee9cda413 (diff)
downloadgsoc2013-epiphany-d98d12f99aef8f32f08b1c2bfaaa0eaf73f36df5.tar.gz
gsoc2013-epiphany-d98d12f99aef8f32f08b1c2bfaaa0eaf73f36df5.tar.zst
gsoc2013-epiphany-d98d12f99aef8f32f08b1c2bfaaa0eaf73f36df5.zip
Unlink the node from the childs only after the remove from parent signal
2003-05-25 Marco Pesenti Gritti <marco@it.gnome.org> * lib/ephy-node.c: (ephy_node_dispose): Unlink the node from the childs only after the remove from parent signal has been emitted.
Diffstat (limited to 'lib')
-rw-r--r--lib/ephy-node.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/ephy-node.c b/lib/ephy-node.c
index 35c7f87d6..aaea35ef2 100644
--- a/lib/ephy-node.c
+++ b/lib/ephy-node.c
@@ -283,6 +283,11 @@ ephy_node_dispose (EphyNode *node)
lock_gdk ();
+ /* remove from DAG */
+ g_hash_table_foreach (node->parents,
+ (GHFunc) remove_child,
+ node);
+
for (i = 0; i < node->children->len; i++) {
EphyNode *child;
@@ -295,11 +300,6 @@ ephy_node_dispose (EphyNode *node)
g_static_rw_lock_writer_unlock (child->lock);
}
- /* remove from DAG */
- g_hash_table_foreach (node->parents,
- (GHFunc) remove_child,
- node);
-
g_static_rw_lock_writer_unlock (node->lock);
ephy_node_emit_signal (node, EPHY_NODE_DESTROYED);