[balsa/gtk3] Make sure parent message is checked
- From: Peter Bloomfield <PeterB src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa/gtk3] Make sure parent message is checked
- Date: Sat, 23 Feb 2013 13:43:27 +0000 (UTC)
commit 1472a265f4d198e4a1658b8b13f0684d18ccb21c
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Sat Feb 23 08:42:43 2013 -0500
Make sure parent message is checked
* libbalsa/mailbox.c (lbm_msgno_changed),
(libbalsa_mailbox_msgno_changed): make sure parent message is
checked.
ChangeLog | 6 ++++++
libbalsa/mailbox.c | 18 +++++++-----------
2 files changed, 13 insertions(+), 11 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index a033d28..e9f446c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2013-02-23 Peter Bloomfield
+ * libbalsa/mailbox.c (lbm_msgno_changed),
+ (libbalsa_mailbox_msgno_changed): make sure parent message is
+ checked.
+
+2013-02-23 Peter Bloomfield
+
* libbalsa/mailbox.c (lbm_msgno_filt_check),
(libbalsa_mailbox_msgno_filt_check): use an idle callback to
check whether to filter a message in or out.
diff --git a/libbalsa/mailbox.c b/libbalsa/mailbox.c
index 724198a..3938bd0 100644
--- a/libbalsa/mailbox.c
+++ b/libbalsa/mailbox.c
@@ -1286,13 +1286,17 @@ lbm_msgno_changed(LibBalsaMailbox * mailbox, guint seqno,
g_array_append_val(mailbox->msgnos_changed, seqno);
pthread_mutex_unlock(&msgnos_changed_lock);
+
+ /* Not calling lbm_msgno_row_changed, so we must make sure
+ * iter->user_data is set: */
+ if (!iter->user_data)
+ iter->user_data =
+ g_node_find(mailbox->msg_tree, G_PRE_ORDER, G_TRAVERSE_ALL,
+ GUINT_TO_POINTER(seqno));
return;
}
#endif
- if (!mailbox->msg_tree)
- return;
-
lbm_msgno_row_changed(mailbox, seqno, iter);
}
@@ -1300,13 +1304,8 @@ void
libbalsa_mailbox_msgno_changed(LibBalsaMailbox * mailbox, guint seqno)
{
GtkTreeIter iter;
- gboolean is_main_thread = !libbalsa_am_i_subthread();
- if (is_main_thread)
- gdk_threads_enter();
if (!mailbox->msg_tree) {
- if (is_main_thread)
- gdk_threads_leave();
return;
}
@@ -1321,9 +1320,6 @@ libbalsa_mailbox_msgno_changed(LibBalsaMailbox * mailbox, guint seqno)
if (parent && (seqno = GPOINTER_TO_UINT(parent->data)) > 0)
lbm_msgno_changed(mailbox, seqno, &iter);
}
-
- if (is_main_thread)
- gdk_threads_leave();
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]