evolution-data-server r8495 - in trunk/camel: . providers/groupwise providers/imap



Author: sragavan
Date: Mon Feb 18 04:27:24 2008
New Revision: 8495
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=8495&view=rev

Log:
2008-02-18  Srinivasa Ragavan  <sragavan novell com>

	** Fix for bnc #167638

	* camel.c: Upstreamed OpenSUSE patch. Patch by Fejj to quit evolution
	faster. (Dont try downloading while exitting).




Modified:
   trunk/camel/ChangeLog
   trunk/camel/camel.c
   trunk/camel/providers/groupwise/ChangeLog
   trunk/camel/providers/groupwise/camel-groupwise-folder.c
   trunk/camel/providers/imap/ChangeLog
   trunk/camel/providers/imap/camel-imap-folder.c

Modified: trunk/camel/camel.c
==============================================================================
--- trunk/camel/camel.c	(original)
+++ trunk/camel/camel.c	Mon Feb 18 04:27:24 2008
@@ -46,6 +46,8 @@
 
 static int initialised = FALSE;
 
+int camel_application_is_exiting = FALSE;
+
 static void
 camel_shutdown (void)
 {

Modified: trunk/camel/providers/groupwise/camel-groupwise-folder.c
==============================================================================
--- trunk/camel/providers/groupwise/camel-groupwise-folder.c	(original)
+++ trunk/camel/providers/groupwise/camel-groupwise-folder.c	Mon Feb 18 04:27:24 2008
@@ -64,7 +64,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*/
 #define GROUPWISE_BULK_DELETE_LIMIT 100
 
@@ -865,6 +865,9 @@
 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;
@@ -883,7 +886,7 @@
 	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) {

Modified: trunk/camel/providers/imap/camel-imap-folder.c
==============================================================================
--- trunk/camel/providers/imap/camel-imap-folder.c	(original)
+++ trunk/camel/providers/imap/camel-imap-folder.c	Mon Feb 18 04:27:24 2008
@@ -652,6 +652,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;
@@ -665,6 +666,9 @@
 	gboolean ok;
 	CamelFolderChangeInfo *changes = NULL;
 
+ 	if (camel_application_is_exiting)
+ 		return;
+ 	
 	imap_folder->need_rescan = FALSE;
 
 	summary_len = camel_folder_summary_count (folder->summary);
@@ -2789,6 +2793,7 @@
 			   GArray *expunged, CamelException *ex)
 {
 	CamelImapFolder *imap_folder = CAMEL_IMAP_FOLDER (folder);
+	extern int camel_application_is_exiting;
 	CamelFolderChangeInfo *changes;
 	CamelMessageInfo *info;
 	int len;
@@ -2816,7 +2821,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))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]