[Mono-list] Monodoc Bug

Hector E. Gomez Morales hgomez_36@flashmail.com
08 Mar 2003 02:51:05 -0600


--=-OImvIzu9Z++kp/efVJTV
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Monodoc has a bug where is crashes when you select a namespace or a doc
with two <para> tags in the remarks section. 
The backtrace is this:
in <0x000c1> 00 System.Xml.XmlTextReader:ReadStartTag ()
in <0x000bb> 00 System.Xml.XmlTextReader:ReadTag ()
in <0x000ee> 00 System.Xml.XmlTextReader:ReadContent ()
in <0x0002b> 00 System.Xml.XmlTextReader:Read ()
in <0x00080> 00 System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader)
in <0x00032> 00 System.Xml.XmlDocument:Load (System.Xml.XmlReader)
in <0x00081> 00 System.Xml.XmlDocument:Load (System.IO.Stream)
in <0x001de> 00 .EcmaHelpSource:RenderNamespaceLookup (string)
in <0x000f8> 00 .RootTree:RenderUrl (string)
in <0x001a5> 00 .TreeBrowser:RowActivated (object,System.EventArgs)
in <0x00067> 01 System.MulticastDelegate:invoke_void_object_EventArgs
(object,System.EventArgs)
in <0x00164> 00 GtkSharp.voidObjectSignal:voidObjectCallback
(intptr,int)
in <0x00026> 05 GtkSharp.voidObjectSignal:voidObjectCallback
(intptr,int)
in (unmanaged) 06 Gtk.Application:gtk_main ()
in <0x00004> 06 Gtk.Application:gtk_main ()
in <0x0003b> 00 .Browser:Main ()

I attach a candidate patch.

--=-OImvIzu9Z++kp/efVJTV
Content-Disposition: attachment; filename=XmlTextReader.diff
Content-Transfer-Encoding: quoted-printable
Content-Type: text/x-patch; name=XmlTextReader.diff; charset=UTF-8

Index: XmlTextReader.cs
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /cvs/public/mcs/class/System.XML/System.Xml/XmlTextReader.cs,v
retrieving revision 1.52
diff -u -r1.52 XmlTextReader.cs
--- XmlTextReader.cs	4 Mar 2003 18:39:58 -0000	1.52
+++ XmlTextReader.cs	8 Mar 2003 08:50:03 -0000
@@ -1014,7 +1014,6 @@
 			if (haveEnteredDocument && elementStack.Count =3D=3D 0 && !allowMultipl=
eRoot)
 				throw ReaderError("document has terminated, cannot open new element");
=20
-			haveEnteredDocument =3D true;
 			SkipWhitespace ();
=20
 			bool isEmptyElement =3D false;

--=-OImvIzu9Z++kp/efVJTV--