From: Colin Leroy Date: Mon, 5 Nov 2007 16:58:56 +0000 (+0000) Subject: 2007-11-05 [colin] 3.0.2cvs118 X-Git-Tag: rel_3_1_0~29 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=5f8d251349f1cb8b64b42e9a090d6f9cd6920e5b 2007-11-05 [colin] 3.0.2cvs118 * src/imap.c Fix deletion --- diff --git a/ChangeLog b/ChangeLog index 36c68b83d..3ccf5789f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-11-05 [colin] 3.0.2cvs118 + + * src/imap.c + Fix deletion + 2007-11-05 [iwkse] 3.0.2cvs117 * src/prefs_summary_open.c diff --git a/PATCHSETS b/PATCHSETS index f8083dc7f..6df72a8f3 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -3030,3 +3030,4 @@ ( cvs diff -u -r 1.30.2.24 -r 1.30.2.25 tools/README; cvs diff -u -r 1.1.2.2 -r 1.1.2.3 tools/claws-mail-compose-insert-files.pl; ) > 3.0.2cvs115.patchset ( cvs diff -u -r 1.1.2.6 -r 1.1.2.7 src/addressbook_foldersel.c; ) > 3.0.2cvs116.patchset ( cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/prefs_summary_open.c; ) > 3.0.2cvs117.patchset +( cvs diff -u -r 1.179.2.196 -r 1.179.2.197 src/imap.c; ) > 3.0.2cvs118.patchset diff --git a/configure.ac b/configure.ac index 5938edbd7..33ae82cbd 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=0 MICRO_VERSION=2 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=117 +EXTRA_VERSION=118 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/imap.c b/src/imap.c index 7cbef7798..06cb2805d 100644 --- a/src/imap.c +++ b/src/imap.c @@ -1803,18 +1803,21 @@ static gint imap_do_remove_msgs(Folder *folder, FolderItem *dest, uid_mapping = g_relation_new(2); g_relation_index(uid_mapping, 0, g_direct_hash, g_direct_equal); - ok = imap_set_message_flags - (session, numlist, IMAP_FLAG_DELETED, TRUE); - if (ok != MAILIMAP_NO_ERROR) { - log_warning(LOG_PROTOCOL, _("can't set deleted flags\n")); - return ok; - } + if (numlist != NULL) { + ok = imap_set_message_flags + (session, numlist, IMAP_FLAG_DELETED, TRUE); + if (ok != MAILIMAP_NO_ERROR) { + log_warning(LOG_PROTOCOL, _("can't set deleted flags\n")); + return ok; + } + } /* else we just need to expunge */ ok = imap_cmd_expunge(session); if (ok != MAILIMAP_NO_ERROR) { log_warning(LOG_PROTOCOL, _("can't expunge\n")); return ok; } + session->folder_content_changed = TRUE; unlock_session(session); dir = folder_item_get_path(msginfo->folder); @@ -1829,6 +1832,8 @@ static gint imap_do_remove_msgs(Folder *folder, FolderItem *dest, g_relation_destroy(uid_mapping); g_slist_free(numlist); + imap_scan_required(folder, dest); + g_free(destdir); if (ok == MAILIMAP_NO_ERROR) return 0;