From d65d1d8a4694e0dd9fb28d5a8defaa16927bc155 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Sun, 27 Apr 2003 18:38:28 +0000 Subject: Emit removed signal after the node is actually removed. This could cause 2003-04-27 Marco Pesenti Gritti * lib/ephy-node.c: (real_remove_child): Emit removed signal after the node is actually removed. This could cause bugs, test test test ;) * src/bookmarks/ephy-bookmarks.c: (topics_removed_cb): Update topics list and uncategorized folder on topics removal. --- lib/ephy-node.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/ephy-node.c b/lib/ephy-node.c index 42477c6f3..387d85e38 100644 --- a/lib/ephy-node.c +++ b/lib/ephy-node.c @@ -1155,14 +1155,6 @@ real_remove_child (EphyNode *node, { EphyNodeParent *node_info; - write_lock_to_read_lock (node); - write_lock_to_read_lock (child); - - g_signal_emit (G_OBJECT (node), ephy_node_signals[CHILD_REMOVED], 0, child); - - read_lock_to_write_lock (node); - read_lock_to_write_lock (child); - node_info = g_hash_table_lookup (child->priv->parents, GINT_TO_POINTER (node->priv->id)); @@ -1193,6 +1185,15 @@ real_remove_child (EphyNode *node, g_hash_table_remove (child->priv->parents, GINT_TO_POINTER (node->priv->id)); } + + write_lock_to_read_lock (node); + write_lock_to_read_lock (child); + + g_signal_emit (G_OBJECT (node), ephy_node_signals[CHILD_REMOVED], 0, child); + + read_lock_to_write_lock (node); + read_lock_to_write_lock (child); + } void -- cgit v1.2.3