diff options
author | Christian Persch <chpe@cvs.gnome.org> | 2003-12-18 20:48:45 +0800 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2003-12-18 20:48:45 +0800 |
commit | c901db685d7e02b9fc45f38fa57d8e40f54a1236 (patch) | |
tree | 4e37c7223b70b250fc0ef593a577a2932be8e8a0 | |
parent | 67bda39038345eb5632668f5251bd925f04431ec (diff) | |
download | gsoc2013-epiphany-c901db685d7e02b9fc45f38fa57d8e40f54a1236.tar gsoc2013-epiphany-c901db685d7e02b9fc45f38fa57d8e40f54a1236.tar.gz gsoc2013-epiphany-c901db685d7e02b9fc45f38fa57d8e40f54a1236.tar.bz2 gsoc2013-epiphany-c901db685d7e02b9fc45f38fa57d8e40f54a1236.tar.lz gsoc2013-epiphany-c901db685d7e02b9fc45f38fa57d8e40f54a1236.tar.xz gsoc2013-epiphany-c901db685d7e02b9fc45f38fa57d8e40f54a1236.tar.zst gsoc2013-epiphany-c901db685d7e02b9fc45f38fa57d8e40f54a1236.zip |
Fix freeze bug 129413.
2003-12-18 Christian Persch <chpe@cvs.gnome.org>
* embed/ephy-favicon-cache.c: (icons_added_cb), (icons_removed_cb),
(remove_obsolete_icons), (ephy_favicon_cache_save),
(ephy_favicon_cache_init), (kill_download),
(ephy_favicon_cache_finalize), (ephy_favicon_cache_get):
* embed/ephy-history.c:
(ephy_history_autocompletion_source_foreach),
(remove_obsolete_pages), (ephy_history_save), (hosts_added_cb),
(hosts_removed_cb), (pages_added_cb), (pages_removed_cb),
(update_host_on_child_remove), (update_hosts), (ephy_history_init),
(ephy_history_finalize), (ephy_history_add_host),
(ephy_history_get_page):
* lib/Makefile.am:
* lib/ephy-node-db.c: (ephy_node_db_init), (ephy_node_db_finalize),
(ephy_node_db_get_node_from_id), (_ephy_node_db_new_id),
(_ephy_node_db_add_id), (_ephy_node_db_remove_id):
* lib/ephy-node-filter.c: (ephy_node_filter_expression_evaluate):
* lib/ephy-node.c: (ephy_node_finalize), (real_remove_child),
(remove_child), (ephy_node_dispose), (ephy_node_new_with_id),
(ephy_node_get_id), (ephy_node_ref), (ephy_node_unref),
(child_changed), (ephy_node_set_property),
(ephy_node_get_property), (ephy_node_get_property_string),
(ephy_node_get_property_boolean), (ephy_node_get_property_long),
(ephy_node_get_property_int), (ephy_node_get_property_double),
(ephy_node_get_property_float), (ephy_node_get_property_node),
(save_parent), (ephy_node_save_to_xml), (ephy_node_add_child),
(ephy_node_remove_child), (ephy_node_has_child),
(ephy_node_sort_children), (ephy_node_reorder_children),
(ephy_node_get_children), (ephy_node_get_n_children),
(ephy_node_get_nth_child), (ephy_node_get_child_index),
(ephy_node_get_next_child), (ephy_node_get_previous_child):
* lib/ephy-node.h:
* lib/ephy-state.c: (ephy_states_save), (find_by_name):
* lib/ephy-thread-helpers.c:
* lib/ephy-thread-helpers.h:
* lib/widgets/ephy-tree-model-node.c: (filter_changed_cb):
* src/bookmarks/ephy-bookmarks-editor.c: (search_entry_search_cb):
* src/bookmarks/ephy-bookmarks-export.c: (add_topics_list),
(ephy_bookmarks_export_rdf):
* src/bookmarks/ephy-bookmarks-menu.c: (add_bookmarks_menu),
(ephy_bookmarks_menu_rebuild):
* src/bookmarks/ephy-bookmarks.c:
(ephy_bookmarks_autocompletion_source_foreach),
(ephy_bookmarks_save), (compute_lower_fav), (get_topics_list),
(topics_removed_cb), (ephy_bookmarks_find_bookmark),
(ephy_bookmarks_find_keyword):
* src/bookmarks/ephy-topic-action.c: (append_bookmarks_menu),
(build_topics_menu):
* src/bookmarks/ephy-topics-selector.c: (fill_model):
* src/ephy-favorites-menu.c: (ephy_favorites_menu_rebuild):
* src/ephy-history-window.c: (search_entry_search_cb):
* src/ephy-shell.c: (ephy_shell_init):
Fix freeze bug 129413.
-rw-r--r-- | ChangeLog | 56 | ||||
-rw-r--r-- | embed/ephy-favicon-cache.c | 23 | ||||
-rw-r--r-- | embed/ephy-history.c | 36 | ||||
-rw-r--r-- | lib/Makefile.am | 3 | ||||
-rw-r--r-- | lib/ephy-node-db.c | 26 | ||||
-rw-r--r-- | lib/ephy-node-filter.c | 2 | ||||
-rw-r--r-- | lib/ephy-node.c | 252 | ||||
-rw-r--r-- | lib/ephy-node.h | 4 | ||||
-rw-r--r-- | lib/ephy-state.c | 2 | ||||
-rw-r--r-- | lib/ephy-thread-helpers.c | 35 | ||||
-rw-r--r-- | lib/ephy-thread-helpers.h | 34 | ||||
-rw-r--r-- | lib/widgets/ephy-tree-model-node.c | 2 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks-editor.c | 4 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks-export.c | 2 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks-menu.c | 3 | ||||
-rw-r--r-- | src/bookmarks/ephy-bookmarks.c | 9 | ||||
-rw-r--r-- | src/bookmarks/ephy-topic-action.c | 3 | ||||
-rw-r--r-- | src/bookmarks/ephy-topics-selector.c | 1 | ||||
-rw-r--r-- | src/ephy-favorites-menu.c | 1 | ||||
-rw-r--r-- | src/ephy-history-window.c | 4 | ||||
-rw-r--r-- | src/ephy-shell.c | 2 |
21 files changed, 59 insertions, 445 deletions
@@ -1,5 +1,61 @@ 2003-12-18 Christian Persch <chpe@cvs.gnome.org> + * embed/ephy-favicon-cache.c: (icons_added_cb), (icons_removed_cb), + (remove_obsolete_icons), (ephy_favicon_cache_save), + (ephy_favicon_cache_init), (kill_download), + (ephy_favicon_cache_finalize), (ephy_favicon_cache_get): + * embed/ephy-history.c: + (ephy_history_autocompletion_source_foreach), + (remove_obsolete_pages), (ephy_history_save), (hosts_added_cb), + (hosts_removed_cb), (pages_added_cb), (pages_removed_cb), + (update_host_on_child_remove), (update_hosts), (ephy_history_init), + (ephy_history_finalize), (ephy_history_add_host), + (ephy_history_get_page): + * lib/Makefile.am: + * lib/ephy-node-db.c: (ephy_node_db_init), (ephy_node_db_finalize), + (ephy_node_db_get_node_from_id), (_ephy_node_db_new_id), + (_ephy_node_db_add_id), (_ephy_node_db_remove_id): + * lib/ephy-node-filter.c: (ephy_node_filter_expression_evaluate): + * lib/ephy-node.c: (ephy_node_finalize), (real_remove_child), + (remove_child), (ephy_node_dispose), (ephy_node_new_with_id), + (ephy_node_get_id), (ephy_node_ref), (ephy_node_unref), + (child_changed), (ephy_node_set_property), + (ephy_node_get_property), (ephy_node_get_property_string), + (ephy_node_get_property_boolean), (ephy_node_get_property_long), + (ephy_node_get_property_int), (ephy_node_get_property_double), + (ephy_node_get_property_float), (ephy_node_get_property_node), + (save_parent), (ephy_node_save_to_xml), (ephy_node_add_child), + (ephy_node_remove_child), (ephy_node_has_child), + (ephy_node_sort_children), (ephy_node_reorder_children), + (ephy_node_get_children), (ephy_node_get_n_children), + (ephy_node_get_nth_child), (ephy_node_get_child_index), + (ephy_node_get_next_child), (ephy_node_get_previous_child): + * lib/ephy-node.h: + * lib/ephy-state.c: (ephy_states_save), (find_by_name): + * lib/ephy-thread-helpers.c: + * lib/ephy-thread-helpers.h: + * lib/widgets/ephy-tree-model-node.c: (filter_changed_cb): + * src/bookmarks/ephy-bookmarks-editor.c: (search_entry_search_cb): + * src/bookmarks/ephy-bookmarks-export.c: (add_topics_list), + (ephy_bookmarks_export_rdf): + * src/bookmarks/ephy-bookmarks-menu.c: (add_bookmarks_menu), + (ephy_bookmarks_menu_rebuild): + * src/bookmarks/ephy-bookmarks.c: + (ephy_bookmarks_autocompletion_source_foreach), + (ephy_bookmarks_save), (compute_lower_fav), (get_topics_list), + (topics_removed_cb), (ephy_bookmarks_find_bookmark), + (ephy_bookmarks_find_keyword): + * src/bookmarks/ephy-topic-action.c: (append_bookmarks_menu), + (build_topics_menu): + * src/bookmarks/ephy-topics-selector.c: (fill_model): + * src/ephy-favorites-menu.c: (ephy_favorites_menu_rebuild): + * src/ephy-history-window.c: (search_entry_search_cb): + * src/ephy-shell.c: (ephy_shell_init): + + Fix freeze bug 129413. + +2003-12-18 Christian Persch <chpe@cvs.gnome.org> + * lib/widgets/ephy-node-view.c: (ephy_node_view_select_node_by_key): diff --git a/embed/ephy-favicon-cache.c b/embed/ephy-favicon-cache.c index 8bd8ccf8d..556b20730 100644 --- a/embed/ephy-favicon-cache.c +++ b/embed/ephy-favicon-cache.c @@ -14,6 +14,8 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ */ #include <libxml/tree.h> @@ -44,7 +46,6 @@ struct EphyFaviconCachePrivate EphyNodeDb *db; EphyNode *icons; GHashTable *icons_hash; - GStaticRWLock *icons_hash_lock; GHashTable *downloads_hash; }; @@ -168,13 +169,9 @@ icons_added_cb (EphyNode *node, EphyNode *child, EphyFaviconCache *eb) { - g_static_rw_lock_writer_lock (eb->priv->icons_hash_lock); - g_hash_table_insert (eb->priv->icons_hash, (char *) ephy_node_get_property_string (child, EPHY_NODE_FAVICON_PROP_URL), child); - - g_static_rw_lock_writer_unlock (eb->priv->icons_hash_lock); } static void @@ -182,12 +179,8 @@ icons_removed_cb (EphyNode *node, EphyNode *child, EphyFaviconCache *eb) { - g_static_rw_lock_writer_lock (eb->priv->icons_hash_lock); - g_hash_table_remove (eb->priv->icons_hash, ephy_node_get_property_string (child, EPHY_NODE_FAVICON_PROP_URL)); - - g_static_rw_lock_writer_unlock (eb->priv->icons_hash_lock); } static void @@ -203,7 +196,6 @@ remove_obsolete_icons (EphyFaviconCache *eb) g_date_set_time (¤t_date, time (NULL)); children = ephy_node_get_children (eb->priv->icons); - ephy_node_thaw (eb->priv->icons); for (i = 0; i < children->len; i++) { EphyNode *kid; @@ -250,7 +242,6 @@ ephy_favicon_cache_save (EphyFaviconCache *eb) ephy_node_save_to_xml (kid, root); } - ephy_node_thaw (eb->priv->icons); ephy_file_save_xml (eb->priv->xml_file, doc); @@ -284,9 +275,7 @@ ephy_favicon_cache_init (EphyFaviconCache *cache) } cache->priv->icons_hash = g_hash_table_new (g_str_hash, - g_str_equal); - cache->priv->icons_hash_lock = g_new0 (GStaticRWLock, 1); - g_static_rw_lock_init (cache->priv->icons_hash_lock); + g_str_equal); cache->priv->downloads_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, @@ -319,9 +308,7 @@ kill_download (gpointer key, ephy_embed_persist_cancel (persist); g_object_unref (persist); - g_static_rw_lock_reader_lock (cache->priv->icons_hash_lock); icon = g_hash_table_lookup (cache->priv->icons_hash, (char *)key); - g_static_rw_lock_reader_unlock (cache->priv->icons_hash_lock); ephy_node_unref (icon); @@ -357,8 +344,6 @@ ephy_favicon_cache_finalize (GObject *object) g_free (cache->priv->xml_file); g_free (cache->priv->directory); g_hash_table_destroy (cache->priv->icons_hash); - g_static_rw_lock_free (cache->priv->icons_hash_lock); - g_free (cache->priv->icons_hash_lock); g_hash_table_destroy (cache->priv->downloads_hash); g_object_unref (cache->priv->db); @@ -452,9 +437,7 @@ ephy_favicon_cache_get (EphyFaviconCache *cache, now = time (NULL); - g_static_rw_lock_reader_lock (cache->priv->icons_hash_lock); icon = g_hash_table_lookup (cache->priv->icons_hash, url); - g_static_rw_lock_reader_unlock (cache->priv->icons_hash_lock); if (!icon) { diff --git a/embed/ephy-history.c b/embed/ephy-history.c index 659d8404b..d336520c7 100644 --- a/embed/ephy-history.c +++ b/embed/ephy-history.c @@ -49,9 +49,7 @@ struct EphyHistoryPrivate EphyNode *pages; EphyNode *last_page; GHashTable *hosts_hash; - GStaticRWLock *hosts_hash_lock; GHashTable *pages_hash; - GStaticRWLock *pages_hash_lock; int autosave_timeout; guint update_hosts_idle; }; @@ -162,7 +160,6 @@ ephy_history_autocompletion_source_foreach (EphyAutocompletionSource *source, url, url, FALSE, FALSE, score, data); } - ephy_node_thaw (eb->priv->pages); } static void @@ -256,7 +253,6 @@ remove_obsolete_pages (EphyHistory *eb) g_date_set_time (¤t_date, time (NULL)); children = ephy_node_get_children (eb->priv->pages); - ephy_node_thaw (eb->priv->pages); for (i = 0; i < children->len; i++) { EphyNode *kid; @@ -298,7 +294,6 @@ ephy_history_save (EphyHistory *eb) ephy_node_save_to_xml (kid, root); } - ephy_node_thaw (eb->priv->hosts); children = ephy_node_get_children (eb->priv->pages); for (i = 0; i < children->len; i++) @@ -309,7 +304,6 @@ ephy_history_save (EphyHistory *eb) ephy_node_save_to_xml (kid, root); } - ephy_node_thaw (eb->priv->pages); ephy_file_save_xml (eb->priv->xml_file, doc); xmlFreeDoc(doc); @@ -320,13 +314,9 @@ hosts_added_cb (EphyNode *node, EphyNode *child, EphyHistory *eb) { - g_static_rw_lock_writer_lock (eb->priv->hosts_hash_lock); - g_hash_table_insert (eb->priv->hosts_hash, (char *) ephy_node_get_property_string (child, EPHY_NODE_PAGE_PROP_LOCATION), child); - - g_static_rw_lock_writer_unlock (eb->priv->hosts_hash_lock); } static void @@ -335,12 +325,8 @@ hosts_removed_cb (EphyNode *node, guint old_index, EphyHistory *eb) { - g_static_rw_lock_writer_lock (eb->priv->hosts_hash_lock); - g_hash_table_remove (eb->priv->hosts_hash, ephy_node_get_property_string (child, EPHY_NODE_PAGE_PROP_LOCATION)); - - g_static_rw_lock_writer_unlock (eb->priv->hosts_hash_lock); } static void @@ -348,13 +334,9 @@ pages_added_cb (EphyNode *node, EphyNode *child, EphyHistory *eb) { - g_static_rw_lock_writer_lock (eb->priv->pages_hash_lock); - g_hash_table_insert (eb->priv->pages_hash, (char *) ephy_node_get_property_string (child, EPHY_NODE_PAGE_PROP_LOCATION), child); - - g_static_rw_lock_writer_unlock (eb->priv->pages_hash_lock); } static void @@ -363,12 +345,8 @@ pages_removed_cb (EphyNode *node, guint old_index, EphyHistory *eb) { - g_static_rw_lock_writer_lock (eb->priv->pages_hash_lock); - g_hash_table_remove (eb->priv->pages_hash, ephy_node_get_property_string (child, EPHY_NODE_PAGE_PROP_LOCATION)); - - g_static_rw_lock_writer_unlock (eb->priv->pages_hash_lock); } static gboolean @@ -405,7 +383,6 @@ update_host_on_child_remove (EphyNode *node) new_host_last_visit = last_visit; } } - ephy_node_thaw (node); if (host_last_visit != new_host_last_visit) { @@ -445,7 +422,6 @@ update_hosts (EphyHistory *eh) } } } - ephy_node_thaw (eh->priv->hosts); g_list_foreach (empty, (GFunc)ephy_node_unref, NULL); g_list_free (empty); @@ -500,13 +476,8 @@ ephy_history_init (EphyHistory *eb) eb->priv->pages_hash = g_hash_table_new (g_str_hash, g_str_equal); - eb->priv->pages_hash_lock = g_new0 (GStaticRWLock, 1); - g_static_rw_lock_init (eb->priv->pages_hash_lock); - eb->priv->hosts_hash = g_hash_table_new (g_str_hash, g_str_equal); - eb->priv->hosts_hash_lock = g_new0 (GStaticRWLock, 1); - g_static_rw_lock_init (eb->priv->hosts_hash_lock); /* Pages */ eb->priv->pages = ephy_node_new_with_id (db, PAGES_NODE_ID); @@ -587,9 +558,7 @@ ephy_history_finalize (GObject *object) g_object_unref (eb->priv->db); g_hash_table_destroy (eb->priv->pages_hash); - g_static_rw_lock_free (eb->priv->pages_hash_lock); g_hash_table_destroy (eb->priv->hosts_hash); - g_static_rw_lock_free (eb->priv->hosts_hash_lock); g_source_remove (eb->priv->autosave_timeout); @@ -701,15 +670,12 @@ ephy_history_add_host (EphyHistory *eh, EphyNode *page) g_return_val_if_fail (host_locations != NULL, NULL); - g_static_rw_lock_reader_lock (eh->priv->hosts_hash_lock); - for (l = host_locations; l != NULL; l = l->next) { host = g_hash_table_lookup (eh->priv->hosts_hash, (char *)l->data); if (host) break; } - g_static_rw_lock_reader_unlock (eh->priv->hosts_hash_lock); if (!host) { @@ -868,9 +834,7 @@ ephy_history_get_page (EphyHistory *eb, { EphyNode *node; - g_static_rw_lock_reader_lock (eb->priv->pages_hash_lock); node = g_hash_table_lookup (eb->priv->pages_hash, url); - g_static_rw_lock_reader_unlock (eb->priv->pages_hash_lock); return node; } diff --git a/lib/Makefile.am b/lib/Makefile.am index 226f2ad22..d611b651f 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -27,7 +27,6 @@ NOINST_H_FILES = \ ephy-state.h \ ephy-string.h \ ephy-stock-icons.h \ - ephy-thread-helpers.h \ ephy-zoom.h INST_H_FILES = \ @@ -76,8 +75,6 @@ libephy_la_SOURCES = \ ephy-string.h \ ephy-stock-icons.c \ ephy-stock-icons.h \ - ephy-thread-helpers.c \ - ephy-thread-helpers.h \ ephy-types.h \ ephy-zoom.h \ ephy-zoom.c diff --git a/lib/ephy-node-db.c b/lib/ephy-node-db.c index 86913d93c..1103918ea 100644 --- a/lib/ephy-node-db.c +++ b/lib/ephy-node-db.c @@ -37,10 +37,8 @@ struct EphyNodeDbPrivate { char *name; - GMutex *id_factory_lock; long id_factory; - GStaticRWLock *id_to_node_lock; GPtrArray *id_to_node; }; @@ -154,12 +152,8 @@ ephy_node_db_init (EphyNodeDb *db) /* id to node */ db->priv->id_to_node = g_ptr_array_new (); - db->priv->id_to_node_lock = g_new0 (GStaticRWLock, 1); - g_static_rw_lock_init (db->priv->id_to_node_lock); - /* id factory */ db->priv->id_factory = RESERVED_IDS; - db->priv->id_factory_lock = g_mutex_new (); } static void @@ -181,10 +175,6 @@ ephy_node_db_finalize (GObject *object) g_ptr_array_free (db->priv->id_to_node, FALSE); - g_static_rw_lock_free (db->priv->id_to_node_lock); - - g_mutex_free (db->priv->id_factory_lock); - g_free (db->priv->name); g_free (db->priv); @@ -238,12 +228,8 @@ ephy_node_db_get_node_from_id (EphyNodeDb *db, long id) { EphyNode *ret = NULL; - g_static_rw_lock_reader_lock (db->priv->id_to_node_lock); - ret = node_from_id_real (db, id); - g_static_rw_lock_reader_unlock (db->priv->id_to_node_lock); - return ret; } @@ -252,8 +238,6 @@ _ephy_node_db_new_id (EphyNodeDb *db) { long ret; - g_mutex_lock (db->priv->id_factory_lock); - while (node_from_id_real (db, db->priv->id_factory) != NULL) { db->priv->id_factory++; @@ -261,8 +245,6 @@ _ephy_node_db_new_id (EphyNodeDb *db) ret = db->priv->id_factory; - g_mutex_unlock (db->priv->id_factory_lock); - return ret; } @@ -271,27 +253,19 @@ _ephy_node_db_add_id (EphyNodeDb *db, long id, EphyNode *node) { - g_static_rw_lock_writer_lock (db->priv->id_to_node_lock); - /* resize array if needed */ if (id >= db->priv->id_to_node->len) g_ptr_array_set_size (db->priv->id_to_node, id + 1); g_ptr_array_index (db->priv->id_to_node, id) = node; - - g_static_rw_lock_writer_unlock (db->priv->id_to_node_lock); } void _ephy_node_db_remove_id (EphyNodeDb *db, long id) { - g_static_rw_lock_writer_lock (db->priv->id_to_node_lock); - g_ptr_array_index (db->priv->id_to_node, id) = NULL; /* reset id factory so we use the freed node id */ db->priv->id_factory = RESERVED_IDS; - - g_static_rw_lock_writer_unlock (db->priv->id_to_node_lock); } diff --git a/lib/ephy-node-filter.c b/lib/ephy-node-filter.c index 8f0bddbc0..dda326c83 100644 --- a/lib/ephy-node-filter.c +++ b/lib/ephy-node-filter.c @@ -359,12 +359,10 @@ ephy_node_filter_expression_evaluate (EphyNodeFilterExpression *exp, if (prop == exp->args.prop_args.second_arg.node) { - ephy_node_thaw (node); return TRUE; } } - ephy_node_thaw (node); return FALSE; } case EPHY_NODE_FILTER_EXPRESSION_STRING_PROP_CONTAINS: diff --git a/lib/ephy-node.c b/lib/ephy-node.c index 950033267..131aa1e9f 100644 --- a/lib/ephy-node.c +++ b/lib/ephy-node.c @@ -32,7 +32,6 @@ #include "ephy-node.h" #include "ephy-string.h" -#include "ephy-thread-helpers.h" typedef struct { @@ -51,8 +50,6 @@ typedef struct struct EphyNode { - GStaticRWLock *lock; - int ref_count; gulong id; @@ -74,41 +71,6 @@ typedef struct va_list valist; } ENESCData; -/* evillish hacks to temporarily readlock->writelock and v.v. */ -static inline void -write_lock_to_read_lock (EphyNode *node) -{ - g_static_mutex_lock (&node->lock->mutex); - node->lock->read_counter++; - g_static_mutex_unlock (&node->lock->mutex); - - g_static_rw_lock_writer_unlock (node->lock); -} - -static inline void -read_lock_to_write_lock (EphyNode *node) -{ - g_static_mutex_lock (&node->lock->mutex); - node->lock->read_counter--; - g_static_mutex_unlock (&node->lock->mutex); - - g_static_rw_lock_writer_lock (node->lock); -} - -static inline void -lock_gdk (void) -{ - if (ephy_thread_helpers_in_main_thread () == FALSE) - GDK_THREADS_ENTER (); -} - -static inline void -unlock_gdk (void) -{ - if (ephy_thread_helpers_in_main_thread () == FALSE) - GDK_THREADS_LEAVE (); -} - static gboolean int_equal (gconstpointer a, gconstpointer b) @@ -206,9 +168,6 @@ ephy_node_finalize (EphyNode *node) g_ptr_array_free (node->children, TRUE); - g_static_rw_lock_free (node->lock); - g_free (node->lock); - g_free (node); } @@ -239,22 +198,13 @@ real_remove_child (EphyNode *node, borked_node = g_ptr_array_index (node->children, i); - g_static_rw_lock_writer_lock (borked_node->lock); borked_node_info = g_hash_table_lookup (borked_node->parents, GINT_TO_POINTER (node->id)); borked_node_info->index--; - - g_static_rw_lock_writer_unlock (borked_node->lock); } - write_lock_to_read_lock (node); - write_lock_to_read_lock (child); - ephy_node_emit_signal (node, EPHY_NODE_CHILD_REMOVED, child, old_index); - - read_lock_to_write_lock (node); - read_lock_to_write_lock (child); } if (remove_from_child) { @@ -268,11 +218,7 @@ remove_child (long id, EphyNodeParent *node_info, EphyNode *node) { - g_static_rw_lock_writer_lock (node_info->node->lock); - real_remove_child (node_info->node, node, TRUE, FALSE); - - g_static_rw_lock_writer_unlock (node_info->node->lock); } static void @@ -300,14 +246,8 @@ ephy_node_dispose (EphyNode *node) { guint i; - write_lock_to_read_lock (node); - ephy_node_emit_signal (node, EPHY_NODE_DESTROY); - read_lock_to_write_lock (node); - - lock_gdk (); - /* remove from DAG */ g_hash_table_foreach (node->parents, (GHFunc) remove_child, @@ -318,22 +258,14 @@ ephy_node_dispose (EphyNode *node) child = g_ptr_array_index (node->children, i); - g_static_rw_lock_writer_lock (child->lock); - real_remove_child (node, child, FALSE, TRUE); - - g_static_rw_lock_writer_unlock (child->lock); } - g_static_rw_lock_writer_unlock (node->lock); - g_hash_table_foreach (node->signals, (GHFunc) unref_signal_objects, node); _ephy_node_db_remove_id (node->db, node->id); - - unlock_gdk (); } EphyNode * @@ -357,9 +289,6 @@ ephy_node_new_with_id (EphyNodeDb *db, gulong reserved_id) node = g_new0 (EphyNode, 1); - node->lock = g_new0 (GStaticRWLock, 1); - g_static_rw_lock_init (node->lock); - node->ref_count = 0; node->id = reserved_id; @@ -401,12 +330,8 @@ ephy_node_get_id (EphyNode *node) g_return_val_if_fail (EPHY_IS_NODE (node), -1); - g_static_rw_lock_reader_lock (node->lock); - ret = node->id; - g_static_rw_lock_reader_unlock (node->lock); - return ret; } @@ -415,11 +340,7 @@ ephy_node_ref (EphyNode *node) { g_return_if_fail (EPHY_IS_NODE (node)); - g_static_rw_lock_writer_lock (node->lock); - node->ref_count++; - - g_static_rw_lock_writer_unlock (node->lock); } void @@ -427,44 +348,20 @@ ephy_node_unref (EphyNode *node) { g_return_if_fail (EPHY_IS_NODE (node)); - g_static_rw_lock_writer_lock (node->lock); - node->ref_count--; if (node->ref_count <= 0) { ephy_node_dispose (node); ephy_node_finalize (node); - } else { - g_static_rw_lock_writer_unlock (node->lock); } } -void -ephy_node_freeze (EphyNode *node) -{ - g_return_if_fail (EPHY_IS_NODE (node)); - - g_static_rw_lock_reader_lock (node->lock); -} - -void -ephy_node_thaw (EphyNode *node) -{ - g_return_if_fail (EPHY_IS_NODE (node)); - - g_static_rw_lock_reader_unlock (node->lock); -} - static void child_changed (gulong id, EphyNodeParent *node_info, EphyNode *node) { - g_static_rw_lock_reader_lock (node_info->node->lock); - ephy_node_emit_signal (node_info->node, EPHY_NODE_CHILD_CHANGED, node); - - g_static_rw_lock_reader_unlock (node_info->node->lock); } static inline void @@ -498,25 +395,15 @@ ephy_node_set_property (EphyNode *node, g_return_if_fail (property_id >= 0); g_return_if_fail (value != NULL); - lock_gdk (); - - g_static_rw_lock_writer_lock (node->lock); - new = g_new0 (GValue, 1); g_value_init (new, G_VALUE_TYPE (value)); g_value_copy (value, new); real_set_property (node, property_id, new); - write_lock_to_read_lock (node); - g_hash_table_foreach (node->parents, (GHFunc) child_changed, node); - - g_static_rw_lock_reader_unlock (node->lock); - - unlock_gdk (); } gboolean @@ -530,24 +417,18 @@ ephy_node_get_property (EphyNode *node, g_return_val_if_fail (property_id >= 0, FALSE); g_return_val_if_fail (value != NULL, FALSE); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return FALSE; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return FALSE; } g_value_init (value, G_VALUE_TYPE (ret)); g_value_copy (ret, value); - g_static_rw_lock_reader_unlock (node->lock); - return TRUE; } @@ -561,23 +442,17 @@ ephy_node_get_property_string (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), NULL); g_return_val_if_fail (property_id >= 0, NULL); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return NULL; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return NULL; } retval = g_value_get_string (ret); - g_static_rw_lock_reader_unlock (node->lock); - return retval; } @@ -591,23 +466,17 @@ ephy_node_get_property_boolean (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), FALSE); g_return_val_if_fail (property_id >= 0, FALSE); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return FALSE; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return FALSE; } retval = g_value_get_boolean (ret); - g_static_rw_lock_reader_unlock (node->lock); - return retval; } @@ -621,23 +490,17 @@ ephy_node_get_property_long (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), -1); g_return_val_if_fail (property_id >= 0, -1); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } retval = g_value_get_long (ret); - g_static_rw_lock_reader_unlock (node->lock); - return retval; } @@ -651,23 +514,17 @@ ephy_node_get_property_int (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), -1); g_return_val_if_fail (property_id >= 0, -1); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } retval = g_value_get_int (ret); - g_static_rw_lock_reader_unlock (node->lock); - return retval; } @@ -681,23 +538,17 @@ ephy_node_get_property_double (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), -1); g_return_val_if_fail (property_id >= 0, -1); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } retval = g_value_get_double (ret); - g_static_rw_lock_reader_unlock (node->lock); - return retval; } @@ -711,23 +562,17 @@ ephy_node_get_property_float (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), -1); g_return_val_if_fail (property_id >= 0, -1); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return -1; } retval = g_value_get_float (ret); - g_static_rw_lock_reader_unlock (node->lock); - return retval; } @@ -741,23 +586,17 @@ ephy_node_get_property_node (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), NULL); g_return_val_if_fail (property_id >= 0, NULL); - g_static_rw_lock_reader_lock (node->lock); - if (property_id >= node->properties->len) { - g_static_rw_lock_reader_unlock (node->lock); return NULL; } ret = g_ptr_array_index (node->properties, property_id); if (ret == NULL) { - g_static_rw_lock_reader_unlock (node->lock); return NULL; } retval = g_value_get_pointer (ret); - g_static_rw_lock_reader_unlock (node->lock); - return retval; } @@ -771,13 +610,9 @@ save_parent (gulong id, parent_xml_node = xmlNewChild (xml_node, NULL, "parent", NULL); - g_static_rw_lock_reader_lock (node_info->node->lock); - xml = g_strdup_printf ("%ld", node_info->node->id); xmlSetProp (parent_xml_node, "id", xml); g_free (xml); - - g_static_rw_lock_reader_unlock (node_info->node->lock); } void @@ -792,8 +627,6 @@ ephy_node_save_to_xml (EphyNode *node, g_return_if_fail (EPHY_IS_NODE (node)); g_return_if_fail (parent_xml_node != NULL); - g_static_rw_lock_reader_lock (node->lock); - xml_node = xmlNewChild (parent_xml_node, NULL, "node", NULL); xml = g_strdup_printf ("%ld", node->id); @@ -857,13 +690,10 @@ ephy_node_save_to_xml (EphyNode *node, g_assert (prop_node != NULL); - g_static_rw_lock_reader_lock (prop_node->lock); - xml = g_strdup_printf ("%ld", prop_node->id); xmlNodeSetContent (value_xml_node, xml); g_free (xml); - g_static_rw_lock_reader_unlock (prop_node->lock); break; } default: @@ -875,8 +705,6 @@ ephy_node_save_to_xml (EphyNode *node, g_hash_table_foreach (node->parents, (GHFunc) save_parent, xml_node); - - g_static_rw_lock_reader_unlock (node->lock); } static inline void @@ -901,9 +729,6 @@ real_add_child (EphyNode *node, node_info); } -/* this function assumes it's safe to not lock anything while loading, - * this is at least true for the case where we're loading the library xml file - * from the main loop */ EphyNode * ephy_node_new_from_xml (EphyNodeDb *db, xmlNodePtr xml_node) { @@ -1007,43 +832,20 @@ void ephy_node_add_child (EphyNode *node, EphyNode *child) { - lock_gdk (); - g_return_if_fail (EPHY_IS_NODE (node)); - g_static_rw_lock_writer_lock (node->lock); - g_static_rw_lock_writer_lock (child->lock); - real_add_child (node, child); - write_lock_to_read_lock (node); - write_lock_to_read_lock (child); - ephy_node_emit_signal (node, EPHY_NODE_CHILD_ADDED, child); - - g_static_rw_lock_reader_unlock (node->lock); - g_static_rw_lock_reader_unlock (child->lock); - - unlock_gdk (); } void ephy_node_remove_child (EphyNode *node, EphyNode *child) { - lock_gdk (); - g_return_if_fail (EPHY_IS_NODE (node)); - g_static_rw_lock_writer_lock (node->lock); - g_static_rw_lock_writer_lock (child->lock); - real_remove_child (node, child, TRUE, TRUE); - - g_static_rw_lock_writer_unlock (node->lock); - g_static_rw_lock_writer_unlock (child->lock); - - unlock_gdk (); } gboolean @@ -1054,15 +856,9 @@ ephy_node_has_child (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), FALSE); - g_static_rw_lock_reader_lock (node->lock); - g_static_rw_lock_reader_lock (child->lock); - ret = (g_hash_table_lookup (child->parents, GINT_TO_POINTER (node->id)) != NULL); - g_static_rw_lock_reader_unlock (node->lock); - g_static_rw_lock_reader_unlock (child->lock); - return ret; } @@ -1094,10 +890,6 @@ ephy_node_sort_children (EphyNode *node, g_return_if_fail (EPHY_IS_NODE (node)); g_return_if_fail (compare_func != NULL); - lock_gdk (); - - g_static_rw_lock_writer_lock (node->lock); - newkids = g_ptr_array_new (); g_ptr_array_set_size (newkids, node->children->len); @@ -1127,15 +919,9 @@ ephy_node_sort_children (EphyNode *node, g_ptr_array_free (node->children, FALSE); node->children = newkids; - write_lock_to_read_lock (node); - ephy_node_emit_signal (node, EPHY_NODE_CHILDREN_REORDERED, new_order); g_free (new_order); - - g_static_rw_lock_reader_unlock (node->lock); - - unlock_gdk (); } void @@ -1148,10 +934,6 @@ ephy_node_reorder_children (EphyNode *node, g_return_if_fail (EPHY_IS_NODE (node)); g_return_if_fail (new_order != NULL); - lock_gdk (); - - g_static_rw_lock_writer_lock (node->lock); - newkids = g_ptr_array_new (); g_ptr_array_set_size (newkids, node->children->len); @@ -1171,13 +953,7 @@ ephy_node_reorder_children (EphyNode *node, g_ptr_array_free (node->children, FALSE); node->children = newkids; - write_lock_to_read_lock (node); - ephy_node_emit_signal (node, EPHY_NODE_CHILDREN_REORDERED, new_order); - - g_static_rw_lock_reader_unlock (node->lock); - - unlock_gdk (); } GPtrArray * @@ -1185,8 +961,6 @@ ephy_node_get_children (EphyNode *node) { g_return_val_if_fail (EPHY_IS_NODE (node), NULL); - g_static_rw_lock_reader_lock (node->lock); - return node->children; } @@ -1197,12 +971,8 @@ ephy_node_get_n_children (EphyNode *node) g_return_val_if_fail (EPHY_IS_NODE (node), -1); - g_static_rw_lock_reader_lock (node->lock); - ret = node->children->len; - g_static_rw_lock_reader_unlock (node->lock); - return ret; } @@ -1215,16 +985,12 @@ ephy_node_get_nth_child (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), NULL); g_return_val_if_fail (n >= 0, NULL); - g_static_rw_lock_reader_lock (node->lock); - if (n < node->children->len) { ret = g_ptr_array_index (node->children, n); } else { ret = NULL; } - g_static_rw_lock_reader_unlock (node->lock); - return ret; } @@ -1253,14 +1019,8 @@ ephy_node_get_child_index (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), -1); g_return_val_if_fail (EPHY_IS_NODE (child), -1); - g_static_rw_lock_reader_lock (node->lock); - g_static_rw_lock_reader_lock (child->lock); - ret = ephy_node_real_get_child_index (node, child); - g_static_rw_lock_reader_unlock (node->lock); - g_static_rw_lock_reader_unlock (child->lock); - return ret; } @@ -1274,9 +1034,6 @@ ephy_node_get_next_child (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), NULL); g_return_val_if_fail (EPHY_IS_NODE (child), NULL); - g_static_rw_lock_reader_lock (node->lock); - g_static_rw_lock_reader_lock (child->lock); - idx = get_child_index_real (node, child); if ((idx + 1) < node->children->len) { @@ -1285,9 +1042,6 @@ ephy_node_get_next_child (EphyNode *node, ret = NULL; } - g_static_rw_lock_reader_unlock (node->lock); - g_static_rw_lock_reader_unlock (child->lock); - return ret; } @@ -1301,9 +1055,6 @@ ephy_node_get_previous_child (EphyNode *node, g_return_val_if_fail (EPHY_IS_NODE (node), NULL); g_return_val_if_fail (EPHY_IS_NODE (child), NULL); - g_static_rw_lock_reader_lock (node->lock); - g_static_rw_lock_reader_lock (child->lock); - idx = get_child_index_real (node, child); if ((idx - 1) >= 0) { @@ -1312,9 +1063,6 @@ ephy_node_get_previous_child (EphyNode *node, ret = NULL; } - g_static_rw_lock_reader_unlock (node->lock); - g_static_rw_lock_reader_unlock (child->lock); - return ret; } diff --git a/lib/ephy-node.h b/lib/ephy-node.h index 842001665..4dc0a2e2e 100644 --- a/lib/ephy-node.h +++ b/lib/ephy-node.h @@ -60,10 +60,6 @@ long ephy_node_get_id (EphyNode *node); void ephy_node_ref (EphyNode *node); void ephy_node_unref (EphyNode *node); -/* locking */ -void ephy_node_freeze (EphyNode *node); -void ephy_node_thaw (EphyNode *node); - /* signals */ int ephy_node_signal_connect_object (EphyNode *node, EphyNodeSignalType type, diff --git a/lib/ephy-state.c b/lib/ephy-state.c index 9c9f172d6..a78da0b4f 100644 --- a/lib/ephy-state.c +++ b/lib/ephy-state.c @@ -127,7 +127,6 @@ ephy_states_save (void) ephy_node_save_to_xml (kid, root); } - ephy_node_thaw (states); ephy_file_save_xml (xml_file, doc); g_free (xml_file); @@ -155,7 +154,6 @@ find_by_name (const char *name) result = kid; } } - ephy_node_thaw (states); return result; } diff --git a/lib/ephy-thread-helpers.c b/lib/ephy-thread-helpers.c deleted file mode 100644 index 720358968..000000000 --- a/lib/ephy-thread-helpers.c +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2002 Jorn Baayen - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Id$ - */ - -#include "ephy-thread-helpers.h" - -static GThread *main_thread = NULL; - -void -ephy_thread_helpers_init (void) -{ - main_thread = g_thread_self (); -} - -gboolean -ephy_thread_helpers_in_main_thread (void) -{ - return (main_thread == g_thread_self ()); -} diff --git a/lib/ephy-thread-helpers.h b/lib/ephy-thread-helpers.h deleted file mode 100644 index 2b23156a3..000000000 --- a/lib/ephy-thread-helpers.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2002 Jorn Baayen - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Id$ - */ - -#include <glib/gthread.h> - -#ifndef EPHY_THREAD_HELPERS_H -#define EPHY_THREAD_HELPERS_H - -G_BEGIN_DECLS - -void ephy_thread_helpers_init (void); - -gboolean ephy_thread_helpers_in_main_thread (void); - -G_END_DECLS - -#endif /* EPHY_THREAD_HELPERS_H */ diff --git a/lib/widgets/ephy-tree-model-node.c b/lib/widgets/ephy-tree-model-node.c index 563853016..193d115a4 100644 --- a/lib/widgets/ephy-tree-model-node.c +++ b/lib/widgets/ephy-tree-model-node.c @@ -233,8 +233,6 @@ filter_changed_cb (EphyNodeFilter *filter, g_ptr_array_index (kids, i), i); } - - ephy_node_thaw (model->priv->root); } static void diff --git a/src/bookmarks/ephy-bookmarks-editor.c b/src/bookmarks/ephy-bookmarks-editor.c index 6e468c900..cae27c385 100644 --- a/src/bookmarks/ephy-bookmarks-editor.c +++ b/src/bookmarks/ephy-bookmarks-editor.c @@ -1073,8 +1073,6 @@ search_entry_search_cb (GtkWidget *entry, const char *search_text, EphyBookmarks search_text = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1); - GDK_THREADS_ENTER (); - ephy_node_filter_empty (editor->priv->bookmarks_filter); ephy_node_filter_add_expression (editor->priv->bookmarks_filter, ephy_node_filter_expression_new (EPHY_NODE_FILTER_EXPRESSION_STRING_PROP_CONTAINS, @@ -1087,8 +1085,6 @@ search_entry_search_cb (GtkWidget *entry, const char *search_text, EphyBookmarks search_text), 0); ephy_node_filter_done_changing (editor->priv->bookmarks_filter); - - GDK_THREADS_LEAVE (); } static GtkWidget * diff --git a/src/bookmarks/ephy-bookmarks-export.c b/src/bookmarks/ephy-bookmarks-export.c index 0e314b4f8..2fba78215 100644 --- a/src/bookmarks/ephy-bookmarks-export.c +++ b/src/bookmarks/ephy-bookmarks-export.c @@ -50,7 +50,6 @@ add_topics_list (EphyNode *topics, EphyNode *bmk, bmks = g_list_append (bmks, kid); } } - ephy_node_thaw (topics); if (bmks == NULL) return; @@ -182,7 +181,6 @@ ephy_bookmarks_export_rdf (EphyBookmarks *bookmarks, xmlFree (encoded_title); g_free (link); } - ephy_node_thaw (bmks); ephy_file_save_xml (filename, doc); xmlFreeDoc(doc); diff --git a/src/bookmarks/ephy-bookmarks-menu.c b/src/bookmarks/ephy-bookmarks-menu.c index 9231d7a4c..8d5ed4fc1 100644 --- a/src/bookmarks/ephy-bookmarks-menu.c +++ b/src/bookmarks/ephy-bookmarks-menu.c @@ -239,8 +239,6 @@ add_bookmarks_menu (EphyBookmarksMenu *menu, EphyNode *node, GString *xml) g_list_free (node_list); } - - ephy_node_thaw (node); } static void @@ -298,7 +296,6 @@ ephy_bookmarks_menu_rebuild (EphyBookmarksMenu *menu) node_list = g_list_prepend (node_list, kid); } } - ephy_node_thaw (topics); node_list = g_list_sort (node_list, (GCompareFunc)sort_topics); diff --git a/src/bookmarks/ephy-bookmarks.c b/src/bookmarks/ephy-bookmarks.c index 1904fe8d7..9c0db743e 100644 --- a/src/bookmarks/ephy-bookmarks.c +++ b/src/bookmarks/ephy-bookmarks.c @@ -190,7 +190,6 @@ ephy_bookmarks_autocompletion_source_foreach (EphyAutocompletionSource *source, func (source, keywords, title, url, smart_url, !smart_url, 0, data); } - ephy_node_thaw (eb->priv->bookmarks); } static void @@ -387,7 +386,6 @@ ephy_bookmarks_save (EphyBookmarks *eb) ephy_node_save_to_xml (kid, root); } } - ephy_node_thaw (eb->priv->keywords); children = ephy_node_get_children (eb->priv->bookmarks); for (i = 0; i < children->len; i++) @@ -398,7 +396,6 @@ ephy_bookmarks_save (EphyBookmarks *eb) ephy_node_save_to_xml (kid, root); } - ephy_node_thaw (eb->priv->bookmarks); ephy_file_save_xml (eb->priv->xml_file, doc); xmlFreeDoc(doc); @@ -476,7 +473,6 @@ compute_lower_fav (EphyNode *favorites, double *score) result = child; } } - ephy_node_thaw (favorites); if (result == NULL) *score = 0; @@ -612,7 +608,6 @@ get_topics_list (EphyBookmarks *eb, *no_topics = FALSE; } } - ephy_node_thaw (eb->priv->keywords); return g_string_free (list, FALSE); } @@ -660,7 +655,6 @@ topics_removed_cb (EphyNode *node, g_free (list); } - ephy_node_thaw (child); g_signal_emit (G_OBJECT (eb), ephy_bookmarks_signals[TREE_CHANGED], 0); } @@ -912,11 +906,9 @@ ephy_bookmarks_find_bookmark (EphyBookmarks *eb, if (location != NULL && strcmp (url, location) == 0) { - ephy_node_thaw (eb->priv->bookmarks); return kid; } } - ephy_node_thaw (eb->priv->bookmarks); return NULL; } @@ -1213,7 +1205,6 @@ ephy_bookmarks_find_keyword (EphyBookmarks *eb, node = kid; } } - ephy_node_thaw (eb->priv->keywords); return node; } diff --git a/src/bookmarks/ephy-topic-action.c b/src/bookmarks/ephy-topic-action.c index 7fa6ab705..72aaaea39 100644 --- a/src/bookmarks/ephy-topic-action.c +++ b/src/bookmarks/ephy-topic-action.c @@ -282,8 +282,6 @@ append_bookmarks_menu (EphyTopicAction *action, GtkWidget *menu, EphyNode *node, g_list_free (node_list); } - - ephy_node_thaw (node); } static GtkWidget * @@ -389,7 +387,6 @@ build_topics_menu (EphyTopicAction *action, EphyNode *node) gtk_widget_show (bmk_menu); gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), bmk_menu); } - ephy_node_thaw (node); g_list_free (node_list); uncategorized = ephy_bookmarks_get_not_categorized (bookmarks); diff --git a/src/bookmarks/ephy-topics-selector.c b/src/bookmarks/ephy-topics-selector.c index 9d8447731..689e5eb9d 100644 --- a/src/bookmarks/ephy-topics-selector.c +++ b/src/bookmarks/ephy-topics-selector.c @@ -235,7 +235,6 @@ fill_model (EphyTopicsSelector *editor) -1); } } - ephy_node_thaw (keywords); } static void diff --git a/src/ephy-favorites-menu.c b/src/ephy-favorites-menu.c index 11d341062..082b03501 100644 --- a/src/ephy-favorites-menu.c +++ b/src/ephy-favorites-menu.c @@ -158,7 +158,6 @@ ephy_favorites_menu_rebuild (EphyFavoritesMenu *wrhm) g_free (verb); } - ephy_node_thaw (fav); g_string_append (xml, "</placeholder></submenu></menu></Root>"); diff --git a/src/ephy-history-window.c b/src/ephy-history-window.c index 1a6816764..21fa26922 100644 --- a/src/ephy-history-window.c +++ b/src/ephy-history-window.c @@ -843,8 +843,6 @@ search_entry_search_cb (GtkWidget *entry, char *search_text, EphyHistoryWindow * G_CALLBACK (site_node_selected_cb), editor); - GDK_THREADS_ENTER (); - ephy_node_filter_empty (editor->priv->pages_filter); ephy_node_filter_add_expression (editor->priv->pages_filter, ephy_node_filter_expression_new (EPHY_NODE_FILTER_EXPRESSION_STRING_PROP_CONTAINS, @@ -857,8 +855,6 @@ search_entry_search_cb (GtkWidget *entry, char *search_text, EphyHistoryWindow * search_text), 0); ephy_node_filter_done_changing (editor->priv->pages_filter); - - GDK_THREADS_LEAVE (); } static GtkWidget * diff --git a/src/ephy-shell.c b/src/ephy-shell.c index e8f52b50e..b2acb09aa 100644 --- a/src/ephy-shell.c +++ b/src/ephy-shell.c @@ -31,7 +31,6 @@ #include "ephy-stock-icons.h" #include "ephy-window.h" #include "ephy-file-helpers.h" -#include "ephy-thread-helpers.h" #include "ephy-bookmarks-import.h" #include "ephy-bookmarks-editor.h" #include "ephy-history-window.h" @@ -208,7 +207,6 @@ ephy_shell_init (EphyShell *gs) (gpointer *)ptr); ephy_debug_init (); - ephy_thread_helpers_init (); ephy_file_helpers_init (); ephy_stock_icons_init (); ephy_ensure_dir_exists (ephy_dot_dir ()); |