aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog7
-rw-r--r--mail/message-list.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 5bbf0366b5..586cb1b7bf 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,10 @@
+2009-04-27 Milan Crha <mcrha@redhat.com>
+
+ ** Fix for bug #579635
+
+ * message-list.c: (regen_list_exec): Do not keep last junked messages
+ in a message list for folders not showing junks.
+
2009-04-24 Milan Crha <mcrha@redhat.com>
** Fix for bug #579306
diff --git a/mail/message-list.c b/mail/message-list.c
index dce409ee04..11d0f19707 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -4232,7 +4232,8 @@ regen_list_exec (struct _regen_list_msg *m)
CamelMessageInfo *looking_info = camel_folder_get_message_info (m->folder, looking_for);
if (looking_info) {
- gboolean was_deleted = (camel_message_info_flags (looking_info) & CAMEL_MESSAGE_DELETED) != 0;
+ gboolean is_deleted = (camel_message_info_flags (looking_info) & CAMEL_MESSAGE_DELETED) != 0;
+ gboolean is_junk = (camel_message_info_flags (looking_info) & CAMEL_MESSAGE_JUNK) != 0;
/* I would really like to check for CAMEL_MESSAGE_FOLDER_FLAGGED on a message,
so I would know whether it was changed locally, and then just check the changes
@@ -4240,7 +4241,7 @@ regen_list_exec (struct _regen_list_msg *m)
matter. So here just check whether the file was deleted and we show it based
on the flag whether we can view deleted messages or not. */
- if (!was_deleted || (was_deleted && !m->hidedel))
+ if ((!is_deleted || (is_deleted && !m->hidedel)) && (!is_junk || (is_junk && !m->hidejunk)))
g_ptr_array_add (uids, (gpointer) camel_pstring_strdup (looking_for));
}