2005-06-20 [colin] 1.9.11cvs84
authorColin Leroy <colin@colino.net>
Mon, 20 Jun 2005 17:32:32 +0000 (17:32 +0000)
committerColin Leroy <colin@colino.net>
Mon, 20 Jun 2005 17:32:32 +0000 (17:32 +0000)
* src/folder.c
Be sure not to remove source if copy failed

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/folder.c

index df150a644e1561cf8a661300b0d5ce03243dcec5..aa92848583384ab449a90a5bb0b0e9efe3e26f86 100644 (file)
@@ -1,3 +1,8 @@
+2005-06-20 [colin]     1.9.11cvs84
+
+       * src/folder.c
+               Be sure not to remove source if copy failed
+
 2005-06-20 [colin]     1.9.11cvs83
 
        * src/folderview.c
index ca63d7bc96f6c2f76ba75beb4a6dbc09870ca697..a5d3668e5c187bb5a5749930ca603679ac9a4c8d 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.179.2.34 -r 1.179.2.35 src/imap.c;  ) > 1.9.11cvs81.patchset
 ( cvs diff -u -r 1.1.2.10 -r 1.1.2.11 src/imap_gtk.c;  ) > 1.9.11cvs82.patchset
 ( cvs diff -u -r 1.207.2.42 -r 1.207.2.43 src/folderview.c;  cvs diff -u -r 1.179.2.35 -r 1.179.2.36 src/imap.c;  cvs diff -u -r 1.1.2.11 -r 1.1.2.12 src/imap_gtk.c;  cvs diff -u -r 1.79.2.12 -r 1.79.2.13 src/mh.c;  cvs diff -u -r 1.83.2.33 -r 1.83.2.34 src/mimeview.c;  ) > 1.9.11cvs83.patchset
+( cvs diff -u -r 1.213.2.35 -r 1.213.2.36 src/folder.c;  ) > 1.9.11cvs84.patchset
index 21d7ae480972a7b3e475c540ef3835d680105de9..7730de1eab430e6c257dbadba49428e602b7c6b3 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=11
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=83
+EXTRA_VERSION=84
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index a934d129cc2d6b807744145059c906fe700c32b4..1f8cbaafdc2414560ef6234a318a5627939c2e49 100644 (file)
@@ -2633,6 +2633,7 @@ static gint do_copy_msgs(FolderItem *dest, GSList *msglist, gboolean remove_sour
        gint num, lastnum = -1;
        gboolean folderscan = FALSE;
        GRelation *relation;
+       GSList *not_moved = NULL;
 
        g_return_val_if_fail(dest != NULL, -1);
        g_return_val_if_fail(msglist != NULL, -1);
@@ -2670,7 +2671,10 @@ static gint do_copy_msgs(FolderItem *dest, GSList *msglist, gboolean remove_sour
                        MsgInfo * msginfo = (MsgInfo *) l->data;
 
                        num = folder->klass->copy_msg(folder, dest, msginfo);
-                       g_relation_insert(relation, msginfo, GINT_TO_POINTER(num));
+                       if (num > 0)
+                               g_relation_insert(relation, msginfo, GINT_TO_POINTER(num));
+                       else
+                               not_moved = g_slist_prepend(not_moved, msginfo);
                }
        }
 
@@ -2751,6 +2755,9 @@ static gint do_copy_msgs(FolderItem *dest, GSList *msglist, gboolean remove_sour
                        num = GPOINTER_TO_INT(g_tuples_index(tuples, 0, 1));
                        g_tuples_destroy(tuples);
 
+                       if (g_slist_find(not_moved, msginfo))
+                               continue;
+
                        if ((num >= 0) && (item->folder->klass->remove_msg != NULL)) {
                                if (!item->folder->klass->remove_msgs)
                                        item->folder->klass->remove_msg(item->folder,