File bnc-167638.patch of Package evolution-data-server

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) {
openSUSE Build Service is sponsored by