2009-10-27 [colin] 3.7.3cvs10
authorColin Leroy <colin@colino.net>
Tue, 27 Oct 2009 07:31:54 +0000 (07:31 +0000)
committerColin Leroy <colin@colino.net>
Tue, 27 Oct 2009 07:31:54 +0000 (07:31 +0000)
* src/folder.c
Fix bug 2028, 'Attempts to connect to all accounts on exit'
Don't try to check whether the folder is up-to-date if
the folder class doesn't implement set_mtime, as we don't
care in this case. This code exists since a long time, but
the bug was triggered by more scanning of queue folders
since recently (when we added \Deleted handling).

ChangeLog
PATCHSETS
configure.ac
src/folder.c

index 25f3a72..63046a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-10-27 [colin]     3.7.3cvs10
+
+       * src/folder.c
+               Fix bug 2028, 'Attempts to connect to all accounts on exit'
+               Don't try to check whether the folder is up-to-date if
+               the folder class doesn't implement set_mtime, as we don't
+               care in this case. This code exists since a long time, but
+               the bug was triggered by more scanning of queue folders 
+               since recently (when we added \Deleted handling).
+
 2009-10-27 [colin]     3.7.3cvs9
 
        * src/mainwindow.c
index 677b4bc..308a6b6 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.36.2.176 -r 1.36.2.177 src/common/utils.c;  ) > 3.7.3cvs7.patchset
 ( cvs diff -u -r 1.36.2.177 -r 1.36.2.178 src/common/utils.c;  ) > 3.7.3cvs8.patchset
 ( cvs diff -u -r 1.274.2.303 -r 1.274.2.304 src/mainwindow.c;  ) > 3.7.3cvs9.patchset
+( cvs diff -u -r 1.213.2.194 -r 1.213.2.195 src/folder.c;  ) > 3.7.3cvs10.patchset
index 6022a9a..80a2984 100644 (file)
@@ -12,7 +12,7 @@ MINOR_VERSION=7
 MICRO_VERSION=3
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=9
+EXTRA_VERSION=10
 EXTRA_RELEASE=
 EXTRA_GTK2_VERSION=
 
index 15c53c5..84ee245 100644 (file)
@@ -2609,10 +2609,12 @@ void folder_item_write_cache(FolderItem *item)
                return;
 
        last_mtime = item->mtime;
-       if (item->folder->klass->scan_required)
-               need_scan = item->folder->klass->scan_required(item->folder, item);
-       else
-               need_scan = TRUE;
+       if (item->folder->klass->set_mtime) {
+               if (item->folder->klass->scan_required)
+                       need_scan = item->folder->klass->scan_required(item->folder, item);
+               else
+                       need_scan = TRUE;
+       }
 
        id = folder_item_get_identifier(item);
        debug_print("Save cache for folder %s\n", id);