aboutsummaryrefslogtreecommitdiff
path: root/src/send_message.c
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-11-29 07:54:27 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2005-11-29 07:54:27 +0000
commit244b5fc1cc1374d735d5afb049d7acdca7b0436f (patch)
treee3b335e17b38f70522d6d4be7c32046ebe0c5c73 /src/send_message.c
parent6f4790ff73397f8cfd9b24e253b974d9d5fedaf9 (diff)
send_message_queue_all(): follow the change of compose.c::compose_send().
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@788 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src/send_message.c')
-rw-r--r--src/send_message.c32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/send_message.c b/src/send_message.c
index ab67e90a..c4e81e21 100644
--- a/src/send_message.c
+++ b/src/send_message.c
@@ -345,22 +345,28 @@ gint send_message_queue_all(FolderItem *queue, gboolean save_msgs,
if (send_get_queue_contents(qinfo, tmp) == 0) {
if (save_msgs) {
FolderItem *outbox;
- outbox = account_get_special_folder
- (qinfo->ac, F_OUTBOX);
- procmsg_save_to_outbox(outbox, tmp);
- }
- if (filter_msgs) {
- FilterInfo *fltinfo;
+ gboolean drop_done = FALSE;
+
+ if (filter_msgs) {
+ FilterInfo *fltinfo;
- fltinfo = filter_info_new();
- fltinfo->account = qinfo->ac;
- fltinfo->flags.perm_flags = 0;
- fltinfo->flags.tmp_flags = MSG_RECEIVED;
+ fltinfo = filter_info_new();
+ fltinfo->account = qinfo->ac;
+ fltinfo->flags.perm_flags = 0;
+ fltinfo->flags.tmp_flags = MSG_RECEIVED;
- filter_apply(prefs_common.fltlist, tmp,
- fltinfo);
+ filter_apply(prefs_common.fltlist, tmp,
+ fltinfo);
- filter_info_free(fltinfo);
+ drop_done = fltinfo->drop_done;
+ filter_info_free(fltinfo);
+ }
+
+ if (!drop_done) {
+ outbox = account_get_special_folder
+ (qinfo->ac, F_OUTBOX);
+ procmsg_save_to_outbox(outbox, tmp);
+ }
}
g_unlink(tmp);
}