static void ephy_bookmark_keywords_extension_finalize (GObject *object) { EphyBookmarks *bookmarks; EphyNode *bmks; LOG ("EphyBookmarkKeywordsExtension finalising"); EphyBookmarkKeywordsExtension *extension = EPHY_BOOKMARK_KEYWORDS_EXTENSION (object); bookmarks = ephy_shell_get_bookmarks (ephy_shell); bmks = ephy_bookmarks_get_bookmarks (bookmarks); g_signal_handlers_disconnect_by_func (bookmarks, G_CALLBACK (resolve_address_cb), NULL); ephy_node_signal_disconnect_object (bmks, EPHY_NODE_CHILD_ADDED, (EphyNodeCallback) bookmark_added_cb, G_OBJECT (extension)); ephy_node_signal_disconnect_object (bmks, EPHY_NODE_CHILD_CHANGED, (EphyNodeCallback) bookmark_changed_cb, G_OBJECT (extension)); ephy_node_signal_disconnect_object (bmks, EPHY_NODE_CHILD_REMOVED, (EphyNodeCallback) bookmark_removed_cb, G_OBJECT (extension)); g_hash_table_destroy (extension->priv->kw2url_map); G_OBJECT_CLASS (parent_class)->finalize (object); }