From: Srinivasa Ragavan Date: Mon, 18 Feb 2008 04:27:24 +0000 (+0000) Subject: ** Fix for bnc #167638 X-Git-Tag: upstream/3.7.4~5205 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6fdf8e264272e03cd11adaa14841bff0cb910f29;p=platform%2Fupstream%2Fevolution-data-server.git ** Fix for bnc #167638 2008-02-18 Srinivasa Ragavan ** Fix for bnc #167638 * camel.c: Upstreamed OpenSUSE patch. Patch by Fejj to quit evolution faster. (Dont try downloading while exitting). svn path=/trunk/; revision=8495 --- diff --git a/camel/ChangeLog b/camel/ChangeLog index b17a0e0..79f047f 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,10 @@ +2008-02-18 Srinivasa Ragavan + + ** Fix for bnc #167638 + + * camel.c: Upstreamed OpenSUSE patch. Patch by Fejj to quit evolution + faster. (Dont try downloading while exitting). + 2008-02-14 Matthew Barnes ** Fixes part of bug #516074 diff --git a/camel/camel.c b/camel/camel.c index 15b17d2..51911b3 100644 --- a/camel/camel.c +++ b/camel/camel.c @@ -46,6 +46,8 @@ static int initialised = FALSE; +int camel_application_is_exiting = FALSE; + static void camel_shutdown (void) { diff --git a/camel/providers/groupwise/ChangeLog b/camel/providers/groupwise/ChangeLog index 79eebd1..902cee0 100644 --- a/camel/providers/groupwise/ChangeLog +++ b/camel/providers/groupwise/ChangeLog @@ -1,3 +1,10 @@ +2008-02-18 Srinivasa Ragavan + + ** Fix for bnc #167638 + + * camel-groupwise-folder.c: (update_update): Upstreamed OpenSUSE patch + by Sankar. Quit GW download after Quit requested. + 2008-01-30 Milan Crha ** Part of fix for bug #395939 diff --git a/camel/providers/groupwise/camel-groupwise-folder.c b/camel/providers/groupwise/camel-groupwise-folder.c index 55dbb4e..95067eb 100644 --- a/camel/providers/groupwise/camel-groupwise-folder.c +++ b/camel/providers/groupwise/camel-groupwise-folder.c @@ -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 @@ 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; @@ -883,7 +886,7 @@ update_update (CamelSession *session, CamelSessionThreadMsg *msg) 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) { diff --git a/camel/providers/imap/ChangeLog b/camel/providers/imap/ChangeLog index f42b625..9ceef65 100644 --- a/camel/providers/imap/ChangeLog +++ b/camel/providers/imap/ChangeLog @@ -1,3 +1,11 @@ +2008-02-18 Srinivasa Ragavan + + ** Fix for bnc #167638 + + * camel-imap-folder.c: (imap_rescan), (camel_imap_folder_changed): Upstreamed + OpenSUSE patch. Patch by Fejj to quit evolution faster. + (Dont try downloading while exitting). + 2008-02-11 Milan Crha ** Fix for bug #515054 diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index e6ee185..79fde37 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -652,6 +652,7 @@ imap_rescan (CamelFolder *folder, int exists, CamelException *ex) { 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 @@ imap_rescan (CamelFolder *folder, int exists, CamelException *ex) 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 @@ camel_imap_folder_changed (CamelFolder *folder, int exists, 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 @@ camel_imap_folder_changed (CamelFolder *folder, int exists, } 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))