void summary_simplify_subject(SummaryView *summaryview, gchar * rexp,
GSList * mlist);
-static void summary_filter_func (MsgInfo *msginfo);
+static void summary_filter_func (MsgInfo *msginfo,
+ PrefsAccount *ac_prefs);
static void summary_colorlabel_menu_item_activate_cb
(GtkWidget *widget,
void summary_filter(SummaryView *summaryview, gboolean selected_only)
{
GSList *mlist = NULL, *cur_list;
+ PrefsAccount *ac_prefs = NULL;
summary_lock(summaryview);
/* are there any per-account filtering rules? */
mlist = folder_item_get_msg_list(summaryview->folder_item);
}
+ ac_prefs = ((summaryview->folder_item->folder != NULL) &&
+ (summaryview->folder_item->folder->account != NULL))
+ ? summaryview->folder_item->folder->account : NULL;
+
folder_item_set_batch(summaryview->folder_item, TRUE);
for (cur_list = mlist; cur_list; cur_list = cur_list->next) {
- summary_filter_func((MsgInfo *)cur_list->data);
+ summary_filter_func((MsgInfo *)cur_list->data, ac_prefs);
}
folder_item_set_batch(summaryview->folder_item, FALSE);
summary_show(summaryview, summaryview->folder_item);
}
-static void summary_filter_func(MsgInfo *msginfo)
+static void summary_filter_func(MsgInfo *msginfo, PrefsAccount *ac_prefs)
{
MailFilteringData mail_filtering_data;
if (hooks_invoke(MAIL_MANUAL_FILTERING_HOOKLIST, &mail_filtering_data))
return;
- filter_message_by_msginfo(filtering_rules, msginfo, NULL,
+ filter_message_by_msginfo(filtering_rules, msginfo, ac_prefs,
FILTERING_MANUALLY, NULL);
}