* src/folder.c
Be sure not to remove source if copy failed
+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
2005-06-20 [colin] 1.9.11cvs83
* src/folderview.c
( 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.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
MICRO_VERSION=11
INTERFACE_AGE=0
BINARY_AGE=0
MICRO_VERSION=11
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
gint num, lastnum = -1;
gboolean folderscan = FALSE;
GRelation *relation;
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);
g_return_val_if_fail(dest != NULL, -1);
g_return_val_if_fail(msglist != NULL, -1);
MsgInfo * msginfo = (MsgInfo *) l->data;
num = folder->klass->copy_msg(folder, dest, msginfo);
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);
num = GPOINTER_TO_INT(g_tuples_index(tuples, 0, 1));
g_tuples_destroy(tuples);
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,
if ((num >= 0) && (item->folder->klass->remove_msg != NULL)) {
if (!item->folder->klass->remove_msgs)
item->folder->klass->remove_msg(item->folder,