From 0adbb63d08342d20bdb06bed1555ad961e24032e Mon Sep 17 00:00:00 2001 From: Peter Williams Date: Tue, 15 Aug 2000 20:59:43 +0000 Subject: Address bugzilla bug #496 svn path=/trunk/; revision=4849 --- mail/message-list.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'mail/message-list.c') diff --git a/mail/message-list.c b/mail/message-list.c index 7e00d0ac14..c635f3ea84 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -884,12 +884,18 @@ main_message_changed (CamelObject *o, gpointer uid, gpointer user_data) uid)); if (row != -1) e_table_model_row_changed (message_list->table_model, row); + + g_free (uid); } static void message_changed (CamelObject *o, gpointer event_data, gpointer user_data) { - mail_op_forward_event (main_message_changed, o, event_data, user_data); + /* Here we copy the data because our thread may free the copy that we would reference. + * The other thread would be passed a uid parameter that pointed to freed data. + * We copy it and free it in the handler. + */ + mail_op_forward_event (main_message_changed, o, g_strdup ((gchar *)event_data), user_data); } void -- cgit v1.2.3