aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@it.gnome.org>2003-04-28 02:38:28 +0800
committerMarco Pesenti Gritti <mpeseng@src.gnome.org>2003-04-28 02:38:28 +0800
commitd65d1d8a4694e0dd9fb28d5a8defaa16927bc155 (patch)
tree362905858c943b5f2ca699f1679232d24ed11792 /lib
parent4d94003629211bb7cb57189742b718201d2c27bd (diff)
downloadgsoc2013-epiphany-d65d1d8a4694e0dd9fb28d5a8defaa16927bc155.tar.gz
gsoc2013-epiphany-d65d1d8a4694e0dd9fb28d5a8defaa16927bc155.tar.zst
gsoc2013-epiphany-d65d1d8a4694e0dd9fb28d5a8defaa16927bc155.zip
Emit removed signal after the node is actually removed. This could cause
2003-04-27 Marco Pesenti Gritti <marco@it.gnome.org> * 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.
Diffstat (limited to 'lib')
-rw-r--r--lib/ephy-node.c17
1 files changed, 9 insertions, 8 deletions
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