commit bff075f4c8fa7fa17b7f8589477ba52fe7c137dd
parent da860e0f6abd4c0d58e6d195428203a693db3841
Author: Colin Leroy <colin@colino.net>
Date: Tue, 27 Oct 2009 07:31:54 +0000
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).
Diffstat:
4 files changed, 18 insertions(+), 5 deletions(-)
diff --git 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
diff --git a/PATCHSETS b/PATCHSETS
@@ -3883,3 +3883,4 @@
( 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
diff --git a/configure.ac b/configure.ac
@@ -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=
diff --git a/src/folder.c b/src/folder.c
@@ -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);