* src/folder.c
[claws.git] / src / folder.c
index 667ff5d798465ac63f2fa5d542d609e0dc27552f..a2370f4db2479453d28f9f5ff7b60ab095afb0c3 100644 (file)
@@ -992,6 +992,7 @@ void folder_item_close(FolderItem *item)
        g_return_if_fail(item != NULL);
 
        if (item->new_msgs) {
+               folder_item_update_freeze();
                mlist = folder_item_get_msg_list(item);
                for (cur = mlist ; cur != NULL ; cur = cur->next) {
                        MsgInfo * msginfo;
@@ -1002,6 +1003,7 @@ void folder_item_close(FolderItem *item)
                        procmsg_msginfo_free(msginfo);
                }
                g_slist_free(mlist);
+               folder_item_update_thaw();
        }               
 
        folder_item_write_cache(item);
@@ -1871,7 +1873,6 @@ gint folder_item_move_msgs_with_dest(FolderItem *dest, GSList *msglist)
 
                        if (!folderscan && 
                            ((newmsginfo = folder->klass->get_msginfo(folder, dest, num)) != NULL)) {
-                               newmsginfo = folder->klass->get_msginfo(folder, dest, num);
                                add_msginfo_to_cache(dest, newmsginfo, msginfo);
                                procmsg_msginfo_free(newmsginfo);
                        } else if ((newmsginfo = msgcache_get_msg(dest->cache, num)) != NULL) {