commit 651cded914ade621150c917afa74a2237773d67d
parent 400f851c3c04996873ed07950b15547c503e239e
Author: Colin Leroy <colin@colino.net>
Date: Sun, 5 Apr 2009 17:40:38 +0000
2009-04-05 [colin] 3.7.1cvs40
* src/procmsg.c
Don't ask whether we want to send deleted mails in queue
folders; also, don't send deleted mails when flushing
queues
Diffstat:
4 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,10 @@
+2009-04-05 [colin] 3.7.1cvs40
+
+ * src/procmsg.c
+ Don't ask whether we want to send deleted mails in queue
+ folders; also, don't send deleted mails when flushing
+ queues
+
2009-04-04 [paul] 3.7.1cvs39
* AUTHORS
diff --git a/PATCHSETS b/PATCHSETS
@@ -3779,3 +3779,4 @@
( cvs diff -u -r 1.382.2.505 -r 1.382.2.506 src/compose.c; cvs diff -u -r 1.96.2.218 -r 1.96.2.219 src/textview.c; ) > 3.7.1cvs37.patchset
( cvs diff -u -r 1.100.2.66 -r 1.100.2.67 AUTHORS; cvs diff -u -r 1.1.2.54 -r 1.1.2.55 src/gtk/authors.h; ) > 3.7.1cvs38.patchset
( cvs diff -u -r 1.100.2.67 -r 1.100.2.68 AUTHORS; cvs diff -u -r 1.654.2.3846 -r 1.654.2.3847 configure.ac; diff -u /dev/null po/id.po; cvs diff -u -r 1.1.2.55 -r 1.1.2.56 src/gtk/authors.h; cvs diff -u -r 1.1.2.19 -r 1.1.2.20 tools/claws.i18n.status.pl; ) > 3.7.1cvs39.patchset
+( cvs diff -u -r 1.150.2.114 -r 1.150.2.115 src/procmsg.c; ) > 3.7.1cvs40.patchset
diff --git a/configure.ac b/configure.ac
@@ -12,7 +12,7 @@ MINOR_VERSION=7
MICRO_VERSION=1
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=39
+EXTRA_VERSION=40
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
diff --git a/src/procmsg.c b/src/procmsg.c
@@ -890,7 +890,7 @@ gint procmsg_send_queue(FolderItem *queue, gboolean save_msgs, gchar **errstr)
MsgInfo *msginfo;
msginfo = (MsgInfo *)(elem->data);
- if (!MSG_IS_LOCKED(msginfo->flags)) {
+ if (!MSG_IS_LOCKED(msginfo->flags) && !MSG_IS_DELETED(msginfo->flags)) {
file = folder_item_fetch_msg(queue, msginfo->msgnum);
if (file) {
gboolean queued_removed = FALSE;
@@ -2397,8 +2397,23 @@ static void item_has_queued_mails(FolderItem *item, gpointer data)
gboolean *result = (gboolean *)data;
if (*result == TRUE)
return;
- if (folder_has_parent_of_type(item, F_QUEUE) && item->total_msgs > 0)
- *result = TRUE;
+ if (folder_has_parent_of_type(item, F_QUEUE)) {
+ if (item->total_msgs == 0)
+ return;
+ else {
+ GSList *msglist = folder_item_get_msg_list(item);
+ GSList *cur;
+ for (cur = msglist; cur; cur = cur->next) {
+ MsgInfo *msginfo = (MsgInfo *)cur->data;
+ if (!MSG_IS_DELETED(msginfo->flags) &&
+ !MSG_IS_LOCKED(msginfo->flags)) {
+ *result = TRUE;
+ break;
+ }
+ }
+ procmsg_msg_list_free(msglist);
+ }
+ }
}
gboolean procmsg_have_queued_mails_fast (void)