2005-01-27 [colin] 1.0.0cvs21.1
authorColin Leroy <colin@colino.net>
Thu, 27 Jan 2005 21:38:55 +0000 (21:38 +0000)
committerColin Leroy <colin@colino.net>
Thu, 27 Jan 2005 21:38:55 +0000 (21:38 +0000)
* src/folder.c
* src/folderview.c
Sync with HEAD

ChangeLog-gtk2.claws
PATCHSETS
configure.ac
src/folder.c
src/folderview.c

index ac6ba3b825437a99028fff10db60b6feb0d55b14..e242a07cc6621181058686236716a8882d1e2537 100644 (file)
@@ -1,3 +1,9 @@
+2005-01-27 [colin]     1.0.0cvs21.1
+
+       * src/folder.c
+       * src/folderview.c
+               Sync with HEAD
+
 2005-01-27 [colin]     1.0.0cvs19.1
 
        * src/procmime.c
index 87e2fb95801a5bf9b8e9d0354fb219cfcb0b3a72..985dd9f2877119d311e9c5fa34035f5eba6a4f3e 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.382.2.87 -r 1.382.2.88 src/compose.c; ) > 1.0.0cvs15.2.patchset
 ( cvs diff -u -r 1.94.2.38 -r 1.94.2.39 src/messageview.c; cvs diff -u -r 1.395.2.47 -r 1.395.2.48 src/summaryview.c; cvs diff -u -r 1.274.2.27 -r 1.274.2.28 src/mainwindow.c; cvs diff -u -r 1.382.2.88 -r 1.382.2.89 src/compose.c; cvs diff -u -r 1.50.2.6 -r 1.50.2.7 src/compose.h; cvs diff -u -r 1.150.2.18 -r 1.150.2.19 src/procmsg.c; cvs diff -u -r 1.60.2.9 -r 1.60.2.10 src/procmsg.h; cvs diff -u -r 1.43.2.12 -r 1.43.2.13 src/toolbar.c; ) > 1.0.0cvs18.1.patchset
 ( cvs diff -u -r 1.49.2.29 -r 1.49.2.30 src/procmime.c; ) > 1.0.0cvs19.1.patchset
+( cvs diff -u -r 1.213.2.22 -r 1.213.2.23 src/folder.c; cvs diff -u -r 1.207.2.26 -r 1.207.2.27 src/folderview.c; ) > 1.0.0cvs21.1.patchset
index d5143d74c9760fce8db30aec2151327c253a34d4..79db8c82a85c88f2eb4ccc6bdd61837402177d0b 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=0
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=19
+EXTRA_VERSION=21
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=.1
 
index 46d1b7e45695883b7e97360117be661bfa9b15a8..9a464386f68a299e44669caf6aa7e9a61a182f78 100644 (file)
@@ -1436,7 +1436,8 @@ static gint folder_sort_folder_list(gconstpointer a, gconstpointer b)
 gint folder_item_open(FolderItem *item)
 {
        gchar *buf;
-       if((item->folder->klass->scan_required != NULL) && (item->folder->klass->scan_required(item->folder, item))) {
+       if((item->folder->klass->scan_required != NULL) &&
+          (item->folder->klass->scan_required(item->folder, item))) {
                folder_item_scan_full(item, TRUE);
        }
        folder_item_syncronize_flags(item);
@@ -2813,14 +2814,22 @@ gint folder_item_remove_all_msg(FolderItem *item)
 
        folder = item->folder;
 
-       g_return_val_if_fail(folder->klass->remove_all_msg != NULL, -1);
+       if (folder->klass->remove_all_msg != NULL) {
+               result = folder->klass->remove_all_msg(folder, item);
 
-       result = folder->klass->remove_all_msg(folder, item);
+               if (result == 0) {
+                       folder_item_free_cache(item);
+                       item->cache = msgcache_new();
+               }
+       } else {
+               MsgInfoList *msglist;
 
-       if (result == 0) {
-               folder_item_free_cache(item);
-               item->cache = msgcache_new();
+               msglist = folder_item_get_msg_list(item);
+               result = folder_item_remove_msgs(item, msglist);
+               procmsg_msg_list_free(msglist);
+       }
 
+       if (result == 0) {
                item->new_msgs = 0;
                item->unread_msgs = 0;
                item->unreadmarked_msgs = 0;
index dd440f02e7766e98480dc9f6de07a3cbc31d7d06..1511597973a07277ce1b7aecaf36e27b9fb84b13 100644 (file)
@@ -1808,8 +1808,8 @@ static void folderview_empty_trash_cb(FolderView *folderview, guint action,
        for (cur = mlist ; cur != NULL ; cur = cur->next) {
                MsgInfo * msginfo = (MsgInfo *) cur->data;
                partial_mark_for_delete(msginfo);
-               procmsg_msginfo_free(msginfo);
        }
+       procmsg_msg_list_free(mlist);
 
        folder_item_remove_all_msg(item);
 }