aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2003-12-18 20:48:45 +0800
committerChristian Persch <chpe@src.gnome.org>2003-12-18 20:48:45 +0800
commitc901db685d7e02b9fc45f38fa57d8e40f54a1236 (patch)
tree4e37c7223b70b250fc0ef593a577a2932be8e8a0
parent67bda39038345eb5632668f5251bd925f04431ec (diff)
downloadgsoc2013-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--ChangeLog56
-rw-r--r--embed/ephy-favicon-cache.c23
-rw-r--r--embed/ephy-history.c36
-rw-r--r--lib/Makefile.am3
-rw-r--r--lib/ephy-node-db.c26
-rw-r--r--lib/ephy-node-filter.c2
-rw-r--r--lib/ephy-node.c252
-rw-r--r--lib/ephy-node.h4
-rw-r--r--lib/ephy-state.c2
-rw-r--r--lib/ephy-thread-helpers.c35
-rw-r--r--lib/ephy-thread-helpers.h34
-rw-r--r--lib/widgets/ephy-tree-model-node.c2
-rw-r--r--src/bookmarks/ephy-bookmarks-editor.c4
-rw-r--r--src/bookmarks/ephy-bookmarks-export.c2
-rw-r--r--src/bookmarks/ephy-bookmarks-menu.c3
-rw-r--r--src/bookmarks/ephy-bookmarks.c9
-rw-r--r--src/bookmarks/ephy-topic-action.c3
-rw-r--r--src/bookmarks/ephy-topics-selector.c1
-rw-r--r--src/ephy-favorites-menu.c1
-rw-r--r--src/ephy-history-window.c4
-rw-r--r--src/ephy-shell.c2
21 files changed, 59 insertions, 445 deletions
diff --git a/ChangeLog b/ChangeLog
index 036858655..ea42ba2c9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 (&current_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 (&current_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 ());