Re: [evolution-patches] imap4 search patch for offline mode




go for it

On Thu, 2005-02-10 at 19:01 -0500, Jeffrey Stedfast wrote:
When in offline mode, imap4's search() impl will still try to query the
imap server. Attached patch fixes that issue.

Jeff

text/plain attachment (search-offline.patch), ""
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap4/ChangeLog,v
retrieving revision 1.9
diff -u -r1.9 ChangeLog
--- ChangeLog	4 Feb 2005 03:09:34 -0000	1.9
+++ ChangeLog	10 Feb 2005 23:59:42 -0000
@@ -1,3 +1,8 @@
+2005-02-10  Jeffrey Stedfast  <fejj novell com>
+
+	* camel-imap4-search.c (imap4_body_contains): If we're in offline
+	mode, let the parent implementation perform the search.
+
 2005-02-04  Not Zed  <NotZed Ximian com>
 
 	* camel-imap4-store.c (imap4_build_folder_info): always get the
Index: camel-imap4-search.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/camel/providers/imap4/camel-imap4-search.c,v
retrieving revision 1.4
diff -u -r1.4 camel-imap4-search.c
--- camel-imap4-search.c	12 Nov 2004 05:53:12 -0000	1.4
+++ camel-imap4-search.c	10 Feb 2005 23:59:42 -0000
@@ -29,6 +29,8 @@
 #include <string.h>
 #include <ctype.h>
 
+#include <camel/camel-offline-store.h>
+
 #include "camel-imap4-command.h"
 #include "camel-imap4-engine.h"
 #include "camel-imap4-stream.h"
@@ -123,7 +125,7 @@
 		sprintf (uid, "%u", token->v.number);
 		if ((info = camel_folder_summary_uid (summary, uid))) {
 			g_ptr_array_add (matches, (char *) camel_message_info_uid (info));
-			camel_message_info_free(info);
+			camel_message_info_free (info);
 		}
 	}
 	
@@ -152,6 +154,9 @@
 	int id, i, n;
 	size_t used;
 	char *set;
+	
+	if (((CamelOfflineStore *) engine->service)->state == CAMEL_OFFLINE_STORE_NETWORK_UNAVAIL)
+		return parent_class->body_contains (f, argc, argv, search);
 	
 	summary_set = search->summary_set ? search->summary_set : search->summary;
 	


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