File addin-syntax.patch of Package monodevelop

Index: src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Extension/TemplateCodon.cs
===================================================================
--- src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Extension/TemplateCodon.cs	(revision 130903)
+++ src/addins/MonoDevelop.SourceEditor2/MonoDevelop.SourceEditor.Extension/TemplateCodon.cs	(revision 130904)
@@ -46,7 +46,7 @@
 			resource = file = null;
 		}
 		
-		public XmlTextReader Open ()
+		public XmlReader Open ()
 		{
 			Stream stream;
 			if (!string.IsNullOrEmpty (file)) {
@@ -59,9 +59,9 @@
 				throw new InvalidOperationException ("Template file or resource not provided");
 			}
 			
-			using (stream) {
-				return new XmlTextReader (stream);
-			}
+			XmlReaderSettings settings = new XmlReaderSettings ();
+			settings.CloseInput = true;
+			return XmlTextReader.Create (stream, settings);
 		}
 	}
 }
Index: src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs
===================================================================
--- src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs	(revision 130903)
+++ src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/SyntaxModeService.cs	(revision 130904)
@@ -88,7 +88,7 @@
 		{
 			if (!styleLookup.ContainsKey (name))
 				throw new System.ArgumentException ("Style " + name + " not found", "name");
-			XmlTextReader reader = styleLookup [name].Open ();
+			XmlReader reader = styleLookup [name].Open ();
 			try {
 				styles [name] = Style.LoadFrom (reader);
 			} finally {
@@ -100,7 +100,7 @@
 		{
 			if (!syntaxModeLookup.ContainsKey (mimeType))
 				throw new System.ArgumentException ("Syntax mode for mime:" + mimeType + " not found", "mimeType");
-			XmlTextReader reader = syntaxModeLookup [mimeType].Open ();
+			XmlReader reader = syntaxModeLookup [mimeType].Open ();
 			try {
 				SyntaxMode mode = SyntaxMode.Read (reader);
 				foreach (string mime in mode.MimeType.Split (';')) {
@@ -463,7 +463,7 @@
 			queueSignal.Set ();
 		}
 		
-		static string Scan (XmlTextReader reader, string attribute)
+		static string Scan (XmlReader reader, string attribute)
 		{
 			while (reader.Read () && !reader.IsStartElement ()) 
 				;
@@ -524,25 +524,29 @@
 				if (!resource.EndsWith (".xml")) 
 					continue;
 				if (resource.EndsWith ("SyntaxMode.xml")) {
-					XmlTextReader reader =  new XmlTextReader (assembly.GetManifestResourceStream (resource));
-					string mimeTypes = Scan (reader, SyntaxMode.MimeTypesAttribute);
-					ResourceXmlProvider provider = new ResourceXmlProvider (assembly, resource);
-					foreach (string mimeType in mimeTypes.Split (';')) {
-						syntaxModeLookup [mimeType] = provider;
+					using (Stream stream = assembly.GetManifestResourceStream (resource)) {
+						XmlTextReader reader =  new XmlTextReader (stream);
+						string mimeTypes = Scan (reader, SyntaxMode.MimeTypesAttribute);
+						ResourceXmlProvider provider = new ResourceXmlProvider (assembly, resource);
+						foreach (string mimeType in mimeTypes.Split (';')) {
+							syntaxModeLookup [mimeType] = provider;
+						}
+						reader.Close ();
 					}
-					reader.Close ();
 				} else if (resource.EndsWith ("Style.xml")) {
-					XmlTextReader reader = new XmlTextReader (assembly.GetManifestResourceStream (resource));
-					string styleName = Scan (reader, Style.NameAttribute);
-					styleLookup [styleName] = new ResourceXmlProvider (assembly, resource);
-					reader.Close ();
+					using (Stream stream = assembly.GetManifestResourceStream (resource)) {
+						XmlTextReader reader = new XmlTextReader (stream);
+						string styleName = Scan (reader, Style.NameAttribute);
+						styleLookup [styleName] = new ResourceXmlProvider (assembly, resource);
+						reader.Close ();
+					}
 				}
 			}
 		}
 
 		public static void AddSyntaxMode (IXmlProvider provider)
 		{
-			using (XmlTextReader reader = provider.Open ()) {
+			using (XmlReader reader = provider.Open ()) {
 				string mimeTypes = Scan (reader, SyntaxMode.MimeTypesAttribute);
 				foreach (string mimeType in mimeTypes.Split (';')) {
 					syntaxModeLookup [mimeType] = provider;
@@ -552,7 +556,7 @@
 		
 		public static void RemoveSyntaxMode (IXmlProvider provider)
 		{
-			using (XmlTextReader reader = provider.Open ()) {
+			using (XmlReader reader = provider.Open ()) {
 				string mimeTypes = Scan (reader, SyntaxMode.MimeTypesAttribute);
 				foreach (string mimeType in mimeTypes.Split (';')) {
 					syntaxModeLookup.Remove (mimeType);
@@ -562,14 +566,14 @@
 		
 		public static void AddStyle (IXmlProvider provider)
 		{
-			using (XmlTextReader reader = provider.Open ()) {
+			using (XmlReader reader = provider.Open ()) {
 				string styleName = Scan (reader, Style.NameAttribute);
 				styleLookup [styleName] = provider;
 			}
 		}
 		public static void RemoveStyle (IXmlProvider provider)
 		{
-			using (XmlTextReader reader = provider.Open ()) {
+			using (XmlReader reader = provider.Open ()) {
 				string styleName = Scan (reader, Style.NameAttribute);
 				styleLookup.Remove (styleName);
 			}
Index: src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/IXmlProvider.cs
===================================================================
--- src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/IXmlProvider.cs	(revision 130903)
+++ src/addins/Mono.Texteditor/Mono.TextEditor.Highlighting/IXmlProvider.cs	(revision 130904)
@@ -32,7 +32,7 @@
 {
 	public interface IXmlProvider
 	{
-		XmlTextReader Open ();
+		XmlReader Open ();
 	}
 	
 	public class ResourceXmlProvider : IXmlProvider
@@ -58,9 +58,11 @@
 			this.manifestResourceName = manifestResourceName;
 		}
 		
-		public XmlTextReader Open ()
+		public XmlReader Open ()
 		{
-			return new XmlTextReader (this.assembly.GetManifestResourceStream (this.ManifestResourceName));
+			XmlReaderSettings settings = new XmlReaderSettings ();
+			settings.CloseInput = true;
+			return XmlTextReader.Create (this.assembly.GetManifestResourceStream (this.ManifestResourceName), settings);
 		}
 	}
 	
@@ -79,7 +81,7 @@
 			this.url = url;
 		}
 		
-		public XmlTextReader Open ()
+		public XmlReader Open ()
 		{
 			return new XmlTextReader (url);
 		}
openSUSE Build Service is sponsored by