( cvs diff -u -r 1.179.2.27 -r 1.179.2.28 src/imap.c; ) > 1.9.11cvs60.patchset
( cvs diff -u -r 1.213.2.29 -r 1.213.2.30 src/folder.c; cvs diff -u -r 1.87.2.10 -r 1.87.2.11 src/folder.h; cvs diff -u -r 1.179.2.28 -r 1.179.2.29 src/imap.c; ) > 1.9.11cvs61.patchset
( cvs diff -u -r 1.179.2.29 -r 1.179.2.30 src/imap.c; cvs diff -u -r 1.395.2.78 -r 1.395.2.79 src/summaryview.c; cvs diff -u -r 1.213.2.30 -r 1.213.2.31 src/folder.c; ) > 1.9.11cvs62.patchset
+( cvs diff -u -r 1.213.2.31 -r 1.213.2.32 src/folder.c; ) > 1.9.11cvs63.patchset
*/
gint folder_item_move_msgs(FolderItem *dest, GSList *msglist)
{
+ gint result = -1;
g_return_val_if_fail(dest != NULL, -1);
g_return_val_if_fail(msglist != NULL, -1);
-
- return do_copy_msgs(dest, msglist, TRUE);
+ inc_lock();
+ result = do_copy_msgs(dest, msglist, TRUE);
+ inc_unlock();
+ return result;
}
/**
list.data = msginfo;
list.next = NULL;
-
+
return do_copy_msgs(dest, &list, FALSE);
}
*/
gint folder_item_copy_msgs(FolderItem *dest, GSList *msglist)
{
+ gint result;
g_return_val_if_fail(dest != NULL, -1);
g_return_val_if_fail(msglist != NULL, -1);
- return do_copy_msgs(dest, msglist, FALSE);
+ inc_lock();
+ result = do_copy_msgs(dest, msglist, FALSE);
+ inc_unlock();
+
+ return result;
}
gint folder_item_remove_msg(FolderItem *item, gint num)
g_return_val_if_fail(item != NULL, -1);
folder = item->folder;
g_return_val_if_fail(folder != NULL, -1);
-
+ inc_lock();
if (!item->cache) folder_item_read_cache(item);
folder_item_update_freeze();
}
folder_item_scan_full(item, FALSE);
folder_item_update_thaw();
-
+ inc_unlock();
return ret;
}
folder = item->folder;
+ inc_lock();
if (folder->klass->remove_all_msg != NULL) {
result = folder->klass->remove_all_msg(folder, item);
folder_item_update(item, F_ITEM_UPDATE_MSGCNT | F_ITEM_UPDATE_CONTENT);
}
+ inc_unlock();
return result;
}