evolution-data-server/bnc-167638.patch

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) {