SOURCES: beagle-gmime-2.4.patch (NEW) - fix beagle for gmime 2.4

hawk hawk at pld-linux.org
Mon Oct 20 11:37:58 CEST 2008


Author: hawk                         Date: Mon Oct 20 09:37:57 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- fix beagle for gmime 2.4

---- Files affected:
SOURCES:
   beagle-gmime-2.4.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/beagle-gmime-2.4.patch
diff -u /dev/null SOURCES/beagle-gmime-2.4.patch:1.1
--- /dev/null	Mon Oct 20 11:37:58 2008
+++ SOURCES/beagle-gmime-2.4.patch	Mon Oct 20 11:37:52 2008
@@ -0,0 +1,502 @@
+Index: beagle/beagled/EvolutionMailQueryable/EvolutionMailIndexableGenerator.cs
+===================================================================
+--- beagle/beagled/EvolutionMailQueryable/EvolutionMailIndexableGenerator.cs	(revision 4874)
++++ beagle/beagled/EvolutionMailQueryable/EvolutionMailIndexableGenerator.cs	(working copy)
+@@ -333,28 +333,46 @@
+                         indexable.AddProperty (Property.NewUnsearched ("fixme:folder", this.folder_name));
+ 
+ 			GMime.InternetAddressList addrs;
+-
+-			addrs = message.GetRecipients (GMime.Message.RecipientType.To);
+-			foreach (GMime.InternetAddress ia in addrs) {
+-				if (this.folder_name == "Sent" && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr));
++			
++			if (this.folder_name == "Sent") {
++				addrs = message.GetRecipients (GMime.RecipientType.To);
++				foreach (GMime.InternetAddress ia in addrs) {
++					if (ia is GMime.InternetAddressMailbox) {
++						GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++						
++						indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address));
++					}
++				}
++				
++				addrs.Dispose ();
+ 			}
+-			addrs.Dispose ();
+-
+-			addrs = message.GetRecipients (GMime.Message.RecipientType.Cc);
+-			foreach (GMime.InternetAddress ia in addrs) {
+-				if (this.folder_name == "Sent"  && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr));
++			
++			if (this.folder_name == "Sent") {
++				addrs = message.GetRecipients (GMime.RecipientType.Cc);
++				foreach (GMime.InternetAddress ia in addrs) {
++					if (ia is GMime.InternetAddressMailbox) {
++						GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++						
++						indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address));
++					}
++				}
++				
++				addrs.Dispose ();
+ 			}
+-			addrs.Dispose ();
+-
+-			addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (message.Sender));
+-			foreach (GMime.InternetAddress ia in addrs) {
+-				if (this.folder_name != "Sent"  && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", ia.Addr));
++			
++			if (this.folder_name != "Sent") {
++				addrs = GMime.InternetAddressList.Parse (message.Sender);
++				foreach (GMime.InternetAddress ia in addrs) {
++					if (ia is GMime.InternetAddressMailbox) {
++						GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++					
++						indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", mailbox.Address));
++					}
++				}
++				
++				addrs.Dispose ();
+ 			}
+-			addrs.Dispose ();
+-
++			
+ 			if (this.folder_name == "Sent")
+ 				indexable.AddProperty (Property.NewFlag ("fixme:isSent"));
+ 
+@@ -750,48 +768,54 @@
+ 			}
+ 
+ 			GMime.InternetAddressList addrs;
+-			addrs = GMime.InternetAddressList.ParseString (messageInfo.to);
++			addrs = GMime.InternetAddressList.Parse (messageInfo.to);
+ 			foreach (GMime.InternetAddress ia in addrs) {
++				GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++				
+ 				if (!have_content) {
+ 					indexable.AddProperty (Property.NewUnsearched ("fixme:to", ia.ToString (false)));
+-					if (ia.AddressType != GMime.InternetAddressType.Group)
+-						indexable.AddProperty (Property.New ("fixme:to_address", ia.Addr));
+-
++					if (ia is GMime.InternetAddressMailbox)
++						indexable.AddProperty (Property.New ("fixme:to_address", mailbox.Address));
++					
+ 					indexable.AddProperty (Property.New ("fixme:to_name", ia.Name));
+ 				}
+-
+-				if (this.folder_name == "Sent" && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr));
++				
++				if (this.folder_name == "Sent" && ia is GMime.InternetAddressMailbox)
++					indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address));
+ 			}
+ 			addrs.Dispose ();
+ 
+-			addrs = GMime.InternetAddressList.ParseString (messageInfo.cc);
++			addrs = GMime.InternetAddressList.Parse (messageInfo.cc);
+ 			foreach (GMime.InternetAddress ia in addrs) {
++				GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++				
+ 				if (!have_content) {
+ 					indexable.AddProperty (Property.NewUnsearched ("fixme:cc", ia.ToString (false)));
+-					if (ia.AddressType != GMime.InternetAddressType.Group)
+-						indexable.AddProperty (Property.New ("fixme:cc_address", ia.Addr));
+-
++					if (ia is GMime.InternetAddressMailbox)
++						indexable.AddProperty (Property.New ("fixme:cc_address", mailbox.Address));
++					
+ 					indexable.AddProperty (Property.New ("fixme:cc_name", ia.Name));
+ 				}
+-
+-				if (this.folder_name == "Sent" && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", ia.Addr));
++				
++				if (this.folder_name == "Sent" && ia is GMime.InternetAddressMailbox)
++					indexable.AddProperty (Property.NewUnsearched ("fixme:sentTo", mailbox.Address));
+ 			}
+ 			addrs.Dispose ();
+ 
+-			addrs = GMime.InternetAddressList.ParseString (messageInfo.from);
++			addrs = GMime.InternetAddressList.Parse (messageInfo.from);
+ 			foreach (GMime.InternetAddress ia in addrs) {
++				GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++				
+ 				if (!have_content) {
+ 					indexable.AddProperty (Property.NewUnsearched ("fixme:from", ia.ToString (false)));
+-					if (ia.AddressType != GMime.InternetAddressType.Group)
+-						indexable.AddProperty (Property.New ("fixme:from_address", ia.Addr));
+-
++					if (ia is GMime.InternetAddressMailbox)
++						indexable.AddProperty (Property.New ("fixme:from_address", mailbox.Address));
++					
+ 					indexable.AddProperty (Property.New ("fixme:from_name", ia.Name));
+ 				}
+ 
+-				if (this.folder_name != "Sent" && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", ia.Addr));
++				if (this.folder_name != "Sent" && ia is GMime.InternetAddressMailbox)
++					indexable.AddProperty (Property.NewUnsearched ("fixme:gotFrom", mailbox.Address));
+ 			}
+ 			addrs.Dispose ();
+ 
+Index: beagle/beagled/KMailQueryable/KMailIndexer.cs
+===================================================================
+--- beagle/beagled/KMailQueryable/KMailIndexer.cs	(revision 4874)
++++ beagle/beagled/KMailQueryable/KMailIndexer.cs	(working copy)
+@@ -407,28 +407,46 @@
+                         indexable.AddProperty (Property.NewUnsearched ("fixme:folder", folder_name));
+ 
+ 			GMime.InternetAddressList addrs;
+-
+-			addrs = message.GetRecipients (GMime.Message.RecipientType.To);
+-			foreach (GMime.InternetAddress ia in addrs) {
+-				if (folder_name == Queryable.SentMailFolderName && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", ia.Addr));
++			
++			if (folder_name == Queryable.SentMailFolderName) {
++				addrs = message.GetRecipients (GMime.RecipientType.To);
++				foreach (GMime.InternetAddress ia in addrs) {
++					if (ia is GMime.InternetAddressMailbox) {
++						GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++						
++						indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", mailbox.Address));
++					}
++				}
++				
++				addrs.Dispose ();
+ 			}
+-			addrs.Dispose ();
+-
+-			addrs = message.GetRecipients (GMime.Message.RecipientType.Cc);
+-			foreach (GMime.InternetAddress ia in addrs) {
+-				if (folder_name == Queryable.SentMailFolderName && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", ia.Addr));
++			
++			if (folder_name == Queryable.SentMailFolderName) {
++				addrs = message.GetRecipients (GMime.RecipientType.Cc);
++				foreach (GMime.InternetAddress ia in addrs) {
++					if (ia is GMime.InternetAddressMailbox) {
++						GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++						
++						indexable.AddProperty (Property.NewKeyword ("fixme:sentTo", mailbox.Address));
++					}
++				}
++				
++				addrs.Dispose ();
+ 			}
+-			addrs.Dispose ();
+-
+-			addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (message.Sender));
+-			foreach (GMime.InternetAddress ia in addrs) {
+-				if (folder_name != Queryable.SentMailFolderName && ia.AddressType != GMime.InternetAddressType.Group)
+-					indexable.AddProperty (Property.NewKeyword ("fixme:gotFrom", ia.Addr));
++			
++			if (folder_name != Queryable.SentMailFolderName) {
++				addrs = GMime.InternetAddressList.Parse (message.Sender);
++				foreach (GMime.InternetAddress ia in addrs) {
++					if (ia is GMime.InternetAddressMailbox) {
++						GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++						
++						indexable.AddProperty (Property.NewKeyword ("fixme:gotFrom", mailbox.Address));
++					}
++				}
++				
++				addrs.Dispose ();
+ 			}
+-			addrs.Dispose ();
+-
++			
+ 			if (folder_name == Queryable.SentMailFolderName)
+ 				indexable.AddProperty (Property.NewFlag ("fixme:isSent"));
+ 			else {
+Index: beagle/beagled/ThunderbirdQueryable/ThunderbirdQueryable.cs
+===================================================================
+--- beagle/beagled/ThunderbirdQueryable/ThunderbirdQueryable.cs	(revision 4874)
++++ beagle/beagled/ThunderbirdQueryable/ThunderbirdQueryable.cs	(working copy)
+@@ -363,9 +363,14 @@
+ 			message.Subject = Mime.HeaderDecodeText (GetText (document, "Subject"));
+ 			message.Sender = Mime.HeaderDecodePhrase (GetText (document, "Author"));
+ 			message.MessageId = GetText (document, "MessageId");
+-			message.SetDate (DateTimeUtil.UnixToDateTimeUtc (Convert.ToInt64 (GetText (document, "Date"))), 0);
+-			message.AddRecipientsFromString ("To", Mime.HeaderDecodePhrase (GetText (document, "Recipients")));
+-
++			message.Date = DateTimeUtil.UnixToDateTimeUtc (Convert.ToInt64 (GetText (document, "Date")));
++			
++			string str = GetText (document, "Recipients");
++			GMime.InternetAddressList recipients = GMime.InternetAddressList.Parse (str);
++			foreach (GMime.InternetAddress ia in recipients)
++				message.To.Add (ia);
++			recipients.Dispose ();
++			
+ 			return message;
+ 		}
+ 		
+@@ -430,7 +435,7 @@
+ 			
+ 			// We _know_ that the stream comes from a StreamReader, which uses UTF8 by
+ 			// default. So we use that here when parsing our string.
+-			return (str != null ? Encoding.UTF8.GetString (str, 0, pos) : string.Empty);
++			return (str != null ? System.Text.Encoding.UTF8.GetString (str, 0, pos) : string.Empty);
+ 		}
+ 		
+ 		// This spell "charset="
+@@ -458,7 +463,7 @@
+ 			// instead of UTF-8 in some cases and that will really mess things up.
+ 			byte[] buffer = null;
+ 			int c, header_length = 0, newlines = 0, charset_pos = 0;
+-			Encoding enc = Encoding.UTF8;
++			System.Text.Encoding enc = System.Text.Encoding.UTF8;
+ 			try {
+ 				do {
+ 					c = stream.BaseStream.ReadByte ();
+@@ -487,7 +492,7 @@
+ 				stream.BaseStream.Read (buffer, 0, buffer.Length);
+ 				
+ 				// We need to use correct encoding
+-				enc = Encoding.GetEncoding (encoding_str);
++				enc = System.Text.Encoding.GetEncoding (encoding_str);
+ 			} catch {
+ 			} finally {
+ 				stream.Close ();
+Index: beagle/beagled/GoogleBackends/GMailSearchDriver.cs
+===================================================================
+--- beagle/beagled/GoogleBackends/GMailSearchDriver.cs	(revision 4874)
++++ beagle/beagled/GoogleBackends/GMailSearchDriver.cs	(working copy)
+@@ -322,38 +322,47 @@
+ 			hit.AddProperty (Property.NewDate ("fixme:date", message.Date.ToUniversalTime ()));
+ 
+ 			GMime.InternetAddressList addrs;
+-			addrs = message.GetRecipients (GMime.Message.RecipientType.To);
++			addrs = message.GetRecipients (GMime.RecipientType.To);
+ 			foreach (GMime.InternetAddress ia in addrs) {
+ 				hit.AddProperty (Property.NewUnsearched ("fixme:to", ia.ToString (false)));
+-				if (ia.AddressType != GMime.InternetAddressType.Group)
+-					hit.AddProperty (Property.New ("fixme:to_address", ia.Addr));
+-
++				if (ia is GMime.InternetAddressMailbox) {
++					GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++					
++					hit.AddProperty (Property.New ("fixme:to_address", mailbox.Address));
++				}
++				
+ 				hit.AddProperty (Property.New ("fixme:to_name", ia.Name));
+ 			}
+ 			addrs.Dispose ();
+ 
+-			addrs = message.GetRecipients (GMime.Message.RecipientType.Cc);
++			addrs = message.GetRecipients (GMime.RecipientType.Cc);
+ 			foreach (GMime.InternetAddress ia in addrs) {
+ 				hit.AddProperty (Property.NewUnsearched ("fixme:cc", ia.ToString (false)));
+-				if (ia.AddressType != GMime.InternetAddressType.Group)
+-					hit.AddProperty (Property.New ("fixme:cc_address", ia.Addr));
+-
++				if (ia is GMime.InternetAddressMailbox) {
++					GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++					
++					hit.AddProperty (Property.New ("fixme:cc_address", mailbox.Address));
++				}
++				
+ 				hit.AddProperty (Property.New ("fixme:cc_name", ia.Name));
+ 			}
+ 			addrs.Dispose ();
+ 
+-			addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (message.Sender));
++			addrs = GMime.InternetAddressList.Parse (message.Sender);
+ 			foreach (GMime.InternetAddress ia in addrs) {
+ 				hit.AddProperty (Property.NewUnsearched ("fixme:from", ia.ToString (false)));
+-				if (ia.AddressType != GMime.InternetAddressType.Group)
+-					hit.AddProperty (Property.New ("fixme:from_address", ia.Addr));
+-
++				if (ia is GMime.InternetAddressMailbox) {
++					GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++					
++					hit.AddProperty (Property.New ("fixme:from_address", mailbox.Address));
++				}
++				
+ 				hit.AddProperty (Property.New ("fixme:from_name", ia.Name));
+ 			}
+ 			addrs.Dispose ();
+ 
+ 			foreach (GMime.References refs in message.References)
+-				hit.AddProperty (Property.NewUnsearched ("fixme:reference", refs.Msgid));
++				hit.AddProperty (Property.NewUnsearched ("fixme:reference", refs.MessageId));
+ 
+ 			string list_id = message.GetHeader ("List-Id");
+ 			if (list_id != null)
+Index: beagle/configure.in
+===================================================================
+--- beagle/configure.in	(revision 4874)
++++ beagle/configure.in	(working copy)
+@@ -17,7 +17,7 @@
+ NDESK_DBUS_REQUIRED=0.5.2
+ NDESK_DBUS_GLIB_REQUIRED=0.3.0
+ GTK_SHARP_REQUIRED=2.10.0
+-GMIME_SHARP_REQUIRED=2.2.0
++GMIME_SHARP_REQUIRED=2.3.5
+ EVOLUTION_SHARP_REQUIRED=0.13.3
+ GSF_SHARP_REQUIRED=0.6
+ GTK_REQUIRED=2.10.0
+@@ -223,7 +223,7 @@
+ 	glade-sharp-2.0 >= $GTK_SHARP_REQUIRED
+ 	gnome-sharp-2.0 >= $GTK_SHARP_REQUIRED
+ 	gnome-vfs-sharp-2.0 >= $GTK_SHARP_REQUIRED
+-	gmime-sharp >= $GMIME_SHARP_REQUIRED
++	gmime-sharp-2.4 >= $GMIME_SHARP_REQUIRED
+ ])
+ 	AC_SUBST(BEAGLE_UI_LIBS)
+ 
+@@ -270,7 +270,7 @@
+                   evolution-sharp >= $EVOLUTION_SHARP_REQUIRED 	\
+                   gconf-sharp-2.0 >= $GTK_SHARP_REQUIRED	\
+ 		  glib-sharp-2.0 >= $GTK_SHARP_REQUIRED
+-                  gmime-sharp >= $GMIME_SHARP_REQUIRED,
++                  gmime-sharp-2.4 >= $GMIME_SHARP_REQUIRED,
+                   have_evo_dependencies=yes, have_evo_dependencies=no)
+ AC_SUBST(EVO_LIBS)
+ 
+@@ -374,14 +374,14 @@
+ 
+ PKG_CHECK_MODULES(BEAGLED,
+ [
+-	gmime-sharp >= $GMIME_SHARP_REQUIRED
++	gmime-sharp-2.4 >= $GMIME_SHARP_REQUIRED
+ 	glib-sharp-2.0 >= $GTK_SHARP_REQUIRED
+ ])
+ BEAGLED_LIBS="$BEAGLED_LIBS $GSF_SHARP_LIBS"
+ AC_SUBST(BEAGLED_LIBS)
+ 
+ GSF_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gsf-sharp`
+-GMIME_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gmime-sharp`
++GMIME_SHARP_PREFIX=`$PKG_CONFIG --variable=prefix gmime-sharp-2.4`
+ 
+ dnl ----------------------------------------------
+ dnl Epiphany Extension
+Index: beagle/Filters/FilterMail.cs
+===================================================================
+--- beagle/Filters/FilterMail.cs	(revision 4874)
++++ beagle/Filters/FilterMail.cs	(working copy)
+@@ -126,7 +126,7 @@
+ 
+ 			// Messages that are multipart/alternative shouldn't be considered as having
+ 			// attachments.  Unless of course they do.
+-			if (mime_part is GMime.Multipart && mime_part.ContentType.Subtype.ToLower () != "alternative")
++			if (mime_part is GMime.Multipart && mime_part.ContentType.MediaSubtype.ToLower () != "alternative")
+ 				return true;
+ 
+ 			return false;
+@@ -140,34 +140,43 @@
+ 			AddProperty (Property.NewDate ("fixme:date", message.Date.ToUniversalTime ()));
+ 
+ 			GMime.InternetAddressList addrs;
+-			addrs = this.message.GetRecipients (GMime.Message.RecipientType.To);
++			addrs = this.message.GetRecipients (GMime.RecipientType.To);
+ 			foreach (GMime.InternetAddress ia in addrs) {
+ 				AddProperty (Property.NewUnsearched ("fixme:to", ia.ToString (false)));
+-				if (ia.AddressType != GMime.InternetAddressType.Group)
+-					AddProperty (Property.New ("fixme:to_address", ia.Addr));
+-
++				if (ia is GMime.InternetAddressMailbox) {
++					GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++					
++					AddProperty (Property.New ("fixme:to_address", mailbox.Address));
++				}
++				
+ 				AddProperty (Property.New ("fixme:to_name", ia.Name));
+ 				AddEmailLink (ia);
+ 			}
+ 			addrs.Dispose ();
+ 
+-			addrs = this.message.GetRecipients (GMime.Message.RecipientType.Cc);
++			addrs = this.message.GetRecipients (GMime.RecipientType.Cc);
+ 			foreach (GMime.InternetAddress ia in addrs) {
+ 				AddProperty (Property.NewUnsearched ("fixme:cc", ia.ToString (false)));
+-				if (ia.AddressType != GMime.InternetAddressType.Group)
+-					AddProperty (Property.New ("fixme:cc_address", ia.Addr));
+-
++				if (ia is GMime.InternetAddressMailbox) {
++					GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++					
++					AddProperty (Property.New ("fixme:cc_address", mailbox.Address));
++				}
++				
+ 				AddProperty (Property.New ("fixme:cc_name", ia.Name));
+ 				AddEmailLink (ia);
+ 			}
+ 			addrs.Dispose ();
+ 
+-			addrs = GMime.InternetAddressList.ParseString (GMime.Utils.HeaderDecodePhrase (this.message.Sender));
++			addrs = GMime.InternetAddressList.Parse (this.message.Sender);
+ 			foreach (GMime.InternetAddress ia in addrs) {
+ 				AddProperty (Property.NewUnsearched ("fixme:from", ia.ToString (false)));
+-				if (ia.AddressType != GMime.InternetAddressType.Group)
+-					AddProperty (Property.New ("fixme:from_address", ia.Addr));
+-
++				if (ia is GMime.InternetAddressMailbox) {
++					GMime.InternetAddressMailbox mailbox = ia as GMime.InternetAddressMailbox;
++					
++					AddProperty (Property.New ("fixme:from_address", mailbox.Address));
++				}
++				
+ 				AddProperty (Property.New ("fixme:from_name", ia.Name));
+ 				AddEmailLink (ia);
+ 			}
+@@ -184,7 +193,7 @@
+ 				AddProperty (Property.NewUnsearched ("fixme:msgid", GMime.Utils.DecodeMessageId (msgid)));
+ 
+ 			foreach (GMime.References refs in this.message.References)
+-				AddProperty (Property.NewUnsearched ("fixme:reference", refs.Msgid));
++				AddProperty (Property.NewUnsearched ("fixme:reference", refs.MessageId));
+ 
+ 			string list_id = this.message.GetHeader ("List-Id");
+ 			if (list_id != null)
+@@ -345,16 +354,15 @@
+ 					}
+ 				} else if (mime_part is GMime.Multipart) {
+ 					GMime.Multipart multipart = (GMime.Multipart) mime_part;
++					int num_parts = multipart.Count;
+ 
+-					int num_parts = multipart.Number;
+-
+ 					// If the mimetype is multipart/alternative, we only want to index
+ 					// one part -- the richest one we can filter.
+-					if (mime_part.ContentType.Subtype.ToLower () == "alternative") {
++					if (mime_part.ContentType.MediaSubtype.ToLower () == "alternative") {
+ 						// The richest formats are at the end, so work from there
+ 						// backward.
+ 						for (int i = num_parts - 1; i >= 0; i--) {
+-							GMime.Object subpart = multipart.GetPart (i);
++							GMime.Object subpart = multipart[i];
+ 
+ 							if (IsMimeTypeHandled (subpart.ContentType.ToString ())) {
+ 								part = subpart;
+@@ -370,7 +378,7 @@
+ 					// the parts, treat them like a bunch of attachments.
+ 					if (part == null) {
+ 						for (int i = 0; i < num_parts; i++) {
+-							using (GMime.Object subpart = multipart.GetPart (i))
++							using (GMime.Object subpart = multipart[i])
+ 								this.OnEachPart (subpart);
+ 						}
+ 					}
+@@ -400,7 +408,7 @@
+ 						} else if (mime_type == "text/html") {
+ 							no_child_needed = true;
+ 							html_part = true;
+-							string enc = part.GetContentTypeParameter ("charset"); 
++							string enc = part.ContentType.GetParameter ("charset"); 
+ 							// DataWrapper.Stream is a very limited stream
+ 							// and does not allow Seek or Tell
+ 							// HtmlFilter requires Stream.Position=0.
+@@ -473,7 +481,7 @@
+ 							if (length != -1)
+ 								child.AddProperty (Property.NewUnsearched ("fixme:filesize", length));
+ 
+-							if (part.ContentType.Type.ToLower () == "text")
++							if (part.ContentType.MediaType.ToLower () == "text")
+ 								child.SetTextReader (new StreamReader (stream));
+ 							else
+ 								child.SetBinaryStream (stream);
================================================================


More information about the pld-cvs-commit mailing list