diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ChangeLog.ja | 5 | ||||
-rw-r--r-- | src/send_message.c | 32 |
3 files changed, 29 insertions, 13 deletions
@@ -1,3 +1,8 @@ +2005-11-29 + + * src/send_message.c: send_message_queue_all(): follow the change of + compose.c::compose_send(). + 2005-11-28 * libsylph/prefs_common.[ch] diff --git a/ChangeLog.ja b/ChangeLog.ja index 2726815a..939b0254 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,8 @@ +2005-11-29 + + * src/send_message.c: send_message_queue_all(): + compose.c::compose_send() の変更に追従するようにした。 + 2005-11-28 * libsylph/prefs_common.[ch] 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); } |