[balsa/gtk3] Make call thread-safe
- From: Peter Bloomfield <PeterB src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/gtk3] Make call thread-safe
- Date: Thu, 21 Feb 2013 02:50:46 +0000 (UTC)
commit cd74b8e48ca70d46b94d2f1e81dd53a47d7f1342
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Wed Feb 20 21:32:41 2013 -0500
Make call thread-safe
* src/balsa-app.c (balsa_find_url): thread-safe.
ChangeLog | 4 ++++
src/balsa-app.c | 13 +++++++++----
2 files changed, 13 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 7b85cb6..22dc04a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2013-02-20 Peter Bloomfield
+ * src/balsa-app.c (balsa_find_url): thread-safe.
+
+2013-02-20 Peter Bloomfield
+
* libbalsa/send.c (balsa_send_message_real_idle_cb),
(balsa_send_message_real): close outbox in an idle callback.
diff --git a/src/balsa-app.c b/src/balsa-app.c
index 828f27b..0769953 100644
--- a/src/balsa-app.c
+++ b/src/balsa-app.c
@@ -720,16 +720,21 @@ balsa_find_url(const gchar * url)
{
BalsaFind bf;
- gdk_threads_enter();
-
bf.data = url;
bf.mbnode = NULL;
+
if (balsa_app.mblist_tree_store)
+ g_object_ref(balsa_app.mblist_tree_store);
+ /*
+ * Check again, in case the main thread managed to finalize
+ * balsa_app.mblist_tree_store between the check and the object-ref.
+ */
+ if (balsa_app.mblist_tree_store) {
gtk_tree_model_foreach(GTK_TREE_MODEL(balsa_app.mblist_tree_store),
(GtkTreeModelForeachFunc) find_url,
&bf);
-
- gdk_threads_leave();
+ g_object_unref(balsa_app.mblist_tree_store);
+ }
return bf.mbnode;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]