From: Colin Leroy Date: Mon, 20 Jun 2005 17:32:32 +0000 (+0000) Subject: 2005-06-20 [colin] 1.9.11cvs84 X-Git-Tag: rel_1_9_12~23 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=dc16c16dd5333a76847f7c5fb5eef67ea242248a 2005-06-20 [colin] 1.9.11cvs84 * src/folder.c Be sure not to remove source if copy failed --- diff --git a/ChangeLog-gtk2.claws b/ChangeLog-gtk2.claws index df150a644..aa9284858 100644 --- a/ChangeLog-gtk2.claws +++ b/ChangeLog-gtk2.claws @@ -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 diff --git a/PATCHSETS b/PATCHSETS index ca63d7bc9..a5d3668e5 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -572,3 +572,4 @@ ( 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 diff --git a/configure.ac b/configure.ac index 21d7ae480..7730de1ea 100644 --- a/configure.ac +++ b/configure.ac @@ -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= diff --git a/src/folder.c b/src/folder.c index a934d129c..1f8cbaafd 100644 --- a/src/folder.c +++ b/src/folder.c @@ -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,