evolution-data-server r9804 - trunk/camel/providers/imap



Author: mcrha
Date: Fri Dec  5 12:10:12 2008
New Revision: 9804
URL: http://svn.gnome.org/viewvc/evolution-data-server?rev=9804&view=rev

Log:
2008-12-05  Milan Crha  <mcrha redhat com>

	** Fix for bug #545834

	* camel-imap-folder.c: (imap_get_message): Update mailing list
	information after full message retrieval if necessary.



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

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	Fri Dec  5 12:10:12 2008
@@ -2921,12 +2921,29 @@
 		 && retry < 2
 		 && camel_exception_get_id(ex) == CAMEL_EXCEPTION_SERVICE_UNAVAILABLE);
 
-done:	/* FIXME, this shouldn't be done this way. */
-	if (msg)
+done:
+	if (msg) {
+		/* FIXME, this shouldn't be done this way. */
 		camel_medium_set_header (CAMEL_MEDIUM (msg), "X-Evolution-Source", store->base_url);
+
+		if (!mi->info.mlist || !*mi->info.mlist) {
+			/* update mailing list information, if necessary */
+			char *mlist = camel_header_raw_check_mailing_list (&(CAMEL_MIME_PART (msg)->headers));
+
+			if (mlist) {
+				if (mi->info.mlist)
+					camel_pstring_free (mi->info.mlist);
+				mi->info.mlist = camel_pstring_add (mlist, TRUE);
+				mi->info.dirty = TRUE;
+
+				if (mi->info.summary)
+					camel_folder_summary_touch (mi->info.summary);
+			}
+		}
+	}
 fail:
 	camel_message_info_free(&mi->info);
-	
+
 	return msg;
 }
 



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