96 lines
3.2 KiB
Diff
96 lines
3.2 KiB
Diff
Index: camel/camel.c
|
|
===================================================================
|
|
RCS file: /cvs/gnome/evolution-data-server/camel/camel.c,v
|
|
retrieving revision 1.56
|
|
diff -u -r1.56 camel/camel.c
|
|
--- camel/camel.c 6 Dec 2005 04:21:56 -0000 1.56
|
|
+++ camel/camel.c 20 Apr 2006 21:12:40 -0000
|
|
@@ -44,6 +44,8 @@
|
|
|
|
static int initialised = FALSE;
|
|
|
|
+int camel_application_is_exiting = FALSE;
|
|
+
|
|
static void
|
|
camel_shutdown (void)
|
|
{
|
|
Index: camel/providers/imap/camel-imap-folder.c
|
|
===================================================================
|
|
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap/camel-imap-folder.c,v
|
|
retrieving revision 1.358
|
|
diff -u -r1.358 camel/camel-imap-folder.c
|
|
--- camel/providers/imap/camel-imap-folder.c 10 Jan 2006 07:56:47 -0000 1.358
|
|
+++ camel/providers/imap/camel-imap-folder.c 20 Apr 2006 21:12:40 -0000
|
|
@@ -607,6 +607,7 @@
|
|
{
|
|
CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder);
|
|
CamelImapStore *store = CAMEL_IMAP_STORE (folder->parent_store);
|
|
+ extern int camel_application_is_exiting;
|
|
struct {
|
|
char *uid;
|
|
guint32 flags;
|
|
@@ -619,7 +620,10 @@
|
|
GArray *removed;
|
|
gboolean ok;
|
|
CamelFolderChangeInfo *changes = NULL;
|
|
-
|
|
+
|
|
+ if (camel_application_is_exiting)
|
|
+ return;
|
|
+
|
|
CAMEL_SERVICE_ASSERT_LOCKED (store, connect_lock);
|
|
imap_folder->need_rescan = FALSE;
|
|
|
|
@@ -2617,6 +2621,7 @@
|
|
GArray *expunged, CamelException *ex)
|
|
{
|
|
CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder);
|
|
+ extern int camel_application_is_exiting;
|
|
CamelFolderChangeInfo *changes;
|
|
CamelMessageInfo *info;
|
|
int len;
|
|
@@ -2646,7 +2651,7 @@
|
|
}
|
|
|
|
len = camel_folder_summary_count (folder->summary);
|
|
- if (exists > len)
|
|
+ if (exists > len && !camel_application_is_exiting)
|
|
imap_update_summary (folder, exists, changes, ex);
|
|
|
|
if (camel_folder_change_info_changed (changes))
|
|
Index: camel/providers/groupwise/camel-groupwise-folder.c
|
|
===================================================================
|
|
RCS file: /cvs/gnome/evolution-data-server/camel/providers/groupwise/camel-groupwise-folder.c,v
|
|
retrieving revision 1.130
|
|
diff -u -p -r1.130 camel-groupwise-folder.c
|
|
--- camel/providers/groupwise/camel-groupwise-folder.c 18 Apr 2006 15:15:30 -0000 1.130
|
|
+++ camel/providers/groupwise/camel-groupwise-folder.c 21 Apr 2006 11:18:22 -0000
|
|
@@ -59,7 +59,7 @@
|
|
#define ADD_JUNK_ENTRY 1
|
|
#define REMOVE_JUNK_ENTRY -1
|
|
#define JUNK_FOLDER "Junk Mail"
|
|
-#define READ_CURSOR_MAX_IDS 500
|
|
+#define READ_CURSOR_MAX_IDS 50
|
|
#define MAX_ATTACHMENT_SIZE 1*1024*1024 /*In bytes*/
|
|
|
|
static CamelOfflineFolderClass *parent_class = NULL;
|
|
@@ -749,6 +749,9 @@ struct _folder_update_msg {
|
|
static void
|
|
update_update (CamelSession *session, CamelSessionThreadMsg *msg)
|
|
{
|
|
+
|
|
+ extern int camel_application_is_exiting;
|
|
+
|
|
struct _folder_update_msg *m = (struct _folder_update_msg *)msg;
|
|
EGwConnectionStatus status;
|
|
CamelException *ex = NULL;
|
|
@@ -767,7 +770,7 @@ update_update (CamelSession *session, Ca
|
|
done = FALSE;
|
|
m->slist = NULL;
|
|
|
|
- while (!done) {
|
|
+ while (!done && !camel_application_is_exiting) {
|
|
item_list = NULL;
|
|
status = e_gw_connection_get_all_mail_uids (m->cnc, m->container_id, cursor, FALSE, READ_CURSOR_MAX_IDS, position, &item_list);
|
|
if (status != E_GW_CONNECTION_STATUS_OK) {
|