diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2006-07-14 15:01:12 +0000 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2006-07-14 15:01:12 +0000 |
commit | d8491bc7af1db8e0698502b4c9a99d5119ed183e (patch) | |
tree | a95949cdf6650e40de46d855e5b940ef376839dd | |
parent | db533661368cf88fedc495423ee0bbba0b3467b8 (diff) | |
download | epiphany-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-- | ChangeLog | 9 | ||||
-rw-r--r-- | src/bookmarks/ephy-favorites-menu.c | 17 |
2 files changed, 24 insertions, 2 deletions
@@ -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); } |