IMAP_FOLDER_ITEM(dest)->uid_next = 0;
g_slist_free(IMAP_FOLDER_ITEM(dest)->uid_list);
IMAP_FOLDER_ITEM(dest)->uid_list = NULL;
+ imap_scan_required(folder, dest);
unlock_session(session);
if (ok == IMAP_SUCCESS)
if (!item->should_update) {
debug_print("get_num_list: nothing to update\n");
*old_uids_valid = TRUE;
- if (known_list_len == item->item.total_msgs) {
+ if (known_list_len == item->item.total_msgs
+ && known_list_len > 0) {
*msgnum_list = g_slist_copy(item->uid_list);
return known_list_len;
} else {
IMAPSession *imap_session;
RemoteFolder *rfolder;
- fprintf(stderr, "cancelled\n");
+ g_printerr("cancelled\n");
imap_threaded_cancel(folder);
rfolder = (RemoteFolder *) folder;
imap_session = (IMAPSession *) rfolder->session;