summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2006-07-14 15:01:12 +0000
committerChristian Persch <chpe@src.gnome.org>2006-07-14 15:01:12 +0000
commitd8491bc7af1db8e0698502b4c9a99d5119ed183e (patch)
treea95949cdf6650e40de46d855e5b940ef376839dd
parentdb533661368cf88fedc495423ee0bbba0b3467b8 (diff)
downloadepiphany-d8491bc7af1db8e0698502b4c9a99d5119ed183e.tar.gz
Fix a potential crash.
2006-07-14 Christian Persch <chpe@cvs.gnome.org> * src/bookmarks/ephy-favorites-menu.c: (ephy_favorites_menu_finalize): Fix a potential crash.
-rw-r--r--ChangeLog9
-rw-r--r--src/bookmarks/ephy-favorites-menu.c17
2 files changed, 24 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 77500bd46..5140a5ba5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+=== THIS BRANCH IS DEAD! ===
+
+2006-07-14 Christian Persch <chpe@cvs.gnome.org>
+
+ * src/bookmarks/ephy-favorites-menu.c:
+ (ephy_favorites_menu_finalize):
+
+ Fix a potential crash.
+
2006-04-01 Christian Persch <chpe@cvs.gnome.org>
* embed/mozilla/EphyPromptService.cpp:
diff --git a/src/bookmarks/ephy-favorites-menu.c b/src/bookmarks/ephy-favorites-menu.c
index d6f93d6c8..91c073cb6 100644
--- a/src/bookmarks/ephy-favorites-menu.c
+++ b/src/bookmarks/ephy-favorites-menu.c
@@ -301,12 +301,25 @@ static void
ephy_favorites_menu_finalize (GObject *o)
{
EphyFavoritesMenu *menu = EPHY_FAVORITES_MENU (o);
+ EphyNode *fav;
- if (menu->priv->action_group != NULL)
+ fav = ephy_bookmarks_get_favorites (menu->priv->bookmarks);
+ ephy_node_signal_disconnect_object (fav,
+ EPHY_NODE_CHILD_REMOVED,
+ (EphyNodeCallback) fav_removed_cb,
+ G_OBJECT (menu));
+ ephy_node_signal_disconnect_object (fav,
+ EPHY_NODE_CHILD_ADDED,
+ (EphyNodeCallback) fav_added_cb,
+ G_OBJECT (menu));
+
+ if (menu->priv->update_tag != 0)
{
- g_object_unref (menu->priv->action_group);
+ g_source_remove (menu->priv->update_tag);
}
+ ephy_favorites_menu_clean (menu);
+
G_OBJECT_CLASS (parent_class)->finalize (o);
}