aboutsummaryrefslogtreecommitdiffstats
path: root/mail/message-list.c
diff options
context:
space:
mode:
authorPeter Williams <peterw@src.gnome.org>2000-08-12 01:35:14 +0800
committerPeter Williams <peterw@src.gnome.org>2000-08-12 01:35:14 +0800
commit1fa80ef1b7e6de2c0653b68f60986ae4150d2780 (patch)
tree17909256c3f891914df8c2baec4b13198822725b /mail/message-list.c
parent5d79af0da616d725eebfc15d100ee62ff18cb037 (diff)
downloadgsoc2013-evolution-1fa80ef1b7e6de2c0653b68f60986ae4150d2780.tar.gz
gsoc2013-evolution-1fa80ef1b7e6de2c0653b68f60986ae4150d2780.tar.zst
gsoc2013-evolution-1fa80ef1b7e6de2c0653b68f60986ae4150d2780.zip
Fix the camel-folder's thaw handler. Implement event forwarding into the main thread.
svn path=/trunk/; revision=4744
Diffstat (limited to 'mail/message-list.c')
-rw-r--r--mail/message-list.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/mail/message-list.c b/mail/message-list.c
index a25c449174..3f63c55478 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -836,28 +836,35 @@ build_flat (MessageList *ml, ETreePath *parent, GPtrArray *uids)
}
static void
-folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
+main_folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
{
MessageList *message_list = MESSAGE_LIST (user_data);
- GDK_THREADS_ENTER(); /* Very important!!!! */
+
mail_do_regenerate_messagelist (message_list, message_list->search);
- GDK_THREADS_LEAVE(); /* Very important!!!! */
}
static void
-message_changed (CamelObject *o, gpointer uid, gpointer user_data)
+folder_changed (CamelObject *o, gpointer event_data, gpointer user_data)
+{
+ mail_op_forward_event (main_folder_changed, o, event_data, user_data);
+}
+
+static void
+main_message_changed (CamelObject *o, gpointer uid, gpointer user_data)
{
MessageList *message_list = MESSAGE_LIST (user_data);
int row;
- GDK_THREADS_ENTER(); /* Very important!!!! */
-
row = GPOINTER_TO_INT (g_hash_table_lookup (message_list->uid_rowmap,
uid));
if (row != -1)
e_table_model_row_changed (message_list->table_model, row);
+}
- GDK_THREADS_LEAVE(); /* Very important!!!! */
+static void
+message_changed (CamelObject *o, gpointer event_data, gpointer user_data)
+{
+ mail_op_forward_event (main_message_changed, o, event_data, user_data);
}
void