0.9.0claws43
authorChristoph Hohmann <reboot@gmx.ch>
Wed, 18 Jun 2003 14:01:40 +0000 (14:01 +0000)
committerChristoph Hohmann <reboot@gmx.ch>
Wed, 18 Jun 2003 14:01:40 +0000 (14:01 +0000)
* src/folder.c
        stop messages that are downloaded from POP3 and added to
        an IMAP inbox from being filtered twice (first by POP3
        and again when IMAP folder is scaned to get the UID of
        the APPEND operation when no UIDPLUS is available)

ChangeLog.claws
configure.ac
src/folder.c

index 4c47f2796d1ce8f20165bc4de34da0ccfba520ea..013377e2f3f6e91dcf30ef08758c8edd3f594cd8 100644 (file)
@@ -1,3 +1,11 @@
+2003-06-18 [christoph] 0.9.0claws43
+
+       * src/folder.c
+               stop messages that are downloaded from POP3 and added to
+               an IMAP inbox from being filtered twice (first by POP3
+               and again when IMAP folder is scaned to get the UID of
+               the APPEND operation when no UIDPLUS is available)
+
 2003-06-18 [alfons]
 
        * tools/Makefile.am
index ca220b389c0e29cb5bb1db5ba5b0008013d289c3..f190c51568d22b6d1ca609c1830628c0db372f40 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws42
+EXTRA_VERSION=claws43
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index ecdbcb628fca0a0843f817b5563b8fb964ee23a0..868cf5073c4d8092d82e8c75190be9e1b082fddf 100644 (file)
@@ -73,6 +73,7 @@ static void folder_get_persist_prefs_recursive
 static gboolean persist_prefs_free     (gpointer key, gpointer val, gpointer data);
 void folder_item_read_cache            (FolderItem *item);
 void folder_item_free_cache            (FolderItem *item);
+gint folder_item_scan_full             (FolderItem *item, gboolean filtering);
 
 static GSList *classlist;
 
@@ -411,7 +412,7 @@ gboolean folder_scan_tree_func(GNode *node, gpointer data)
        FolderItem *item = (FolderItem *)node->data;
        
        folder_item_restore_persist_prefs(item, pptable);
-       folder_item_scan(item);
+       folder_item_scan_full(item, FALSE);
 
        return FALSE;
 }
@@ -971,7 +972,7 @@ static gint folder_sort_folder_list(gconstpointer a, gconstpointer b)
 gint folder_item_open(FolderItem *item)
 {
        if(((FOLDER_TYPE(item->folder) == F_IMAP) && !item->no_select) || (FOLDER_TYPE(item->folder) == F_NEWS)) {
-               folder_item_scan(item);
+               folder_item_scan_full(item, TRUE);
        }
 
        /* Processing */
@@ -1016,7 +1017,7 @@ void folder_item_close(FolderItem *item)
        folder_item_update(item, F_ITEM_UPDATE_MSGCNT);
 }
 
-gint folder_item_scan(FolderItem *item)
+gint folder_item_scan_full(FolderItem *item, gboolean filtering)
 {
        Folder *folder;
        GSList *folder_list = NULL, *cache_list = NULL;
@@ -1218,7 +1219,8 @@ gint folder_item_scan(FolderItem *item)
                        MsgInfo *msginfo = (MsgInfo *) elem->data;
 
                        msgcache_add_msg(item->cache, msginfo);
-                       if ((item->stype == F_INBOX) &&
+                       if ((filtering == TRUE) &&
+                           (item->stype == F_INBOX) &&
                            (item->folder->account != NULL) && 
                            (item->folder->account->filter_on_recv) &&
                            procmsg_msginfo_filter(msginfo))
@@ -1271,6 +1273,11 @@ gint folder_item_scan(FolderItem *item)
        return 0;
 }
 
+gint folder_item_scan(FolderItem *item)
+{
+       return folder_item_scan_full(item, TRUE);
+}
+
 static gboolean folder_scan_all_items_func(GNode *node, gpointer data)
 {
        FolderItem *item = node->data;
@@ -1386,7 +1393,7 @@ void folder_item_read_cache(FolderItem *item)
        item->cache = msgcache_read_cache(item, cache_file);
        if (!item->cache) {
                item->cache = msgcache_new();
-               folder_item_scan(item);
+               folder_item_scan_full(item, TRUE);
        }
        msgcache_read_mark(item->cache, mark_file);
        g_free(cache_file);
@@ -1630,7 +1637,7 @@ gint folder_item_add_msg(FolderItem *dest, const gchar *file,
 
                 dest->last_num = num;
         } else if (num == 0) {
-               folder_item_scan(dest);
+               folder_item_scan_full(dest, FALSE);
                num = folder_item_get_msg_num_by_file(dest, file);
        }
 
@@ -1878,7 +1885,7 @@ gint folder_item_move_msgs_with_dest(FolderItem *dest, GSList *msglist)
                                gchar *file;
 
                                if (!folderscan) {
-                                       folder_item_scan(dest);
+                                       folder_item_scan_full(dest, FALSE);
                                        folderscan = TRUE;
                                }
                                file = folder_item_fetch_msg(msginfo->folder, msginfo->msgnum);
@@ -2029,7 +2036,7 @@ gint folder_item_copy_msgs_with_dest(FolderItem *dest, GSList *msglist)
                                gchar *file;
 
                                if (!folderscan) {
-                                       folder_item_scan(dest);
+                                       folder_item_scan_full(dest, FALSE);
                                        folderscan = TRUE;
                                }
                                file = folder_item_fetch_msg(msginfo->folder, msginfo->msgnum);