Browse Source

* XmlSerializationReader.cs: Generate identifiers for arrays user a counter.
delayedListFixups.Count cannot be used because elementes from
delayedListFixups are deleted sometimes.

svn path=/trunk/mcs/; revision=20538

Lluis Sanchez 22 years ago
parent
commit
e6581dceb8

+ 6 - 0
mcs/class/System.XML/System.Xml.Serialization/ChangeLog

@@ -1,3 +1,9 @@
+2003-11-27  Lluis Sanchez Gual <[email protected]>
+
+	* XmlSerializationReader.cs: Generate identifiers for arrays user a counter.
+	  delayedListFixups.Count cannot be used because elementes from
+	  delayedListFixups are deleted sometimes.
+	
 2003-11-27  Lluis Sanchez Gual <[email protected]>
 
 	* XmlReflectionImporter.cs: Indexer properties must not be serialized.

+ 2 - 1
mcs/class/System.XML/System.Xml.Serialization/XmlSerializationReader.cs

@@ -30,6 +30,7 @@ namespace System.Xml.Serialization {
 		Hashtable targets;
 		Hashtable delayedListFixups;
 		XmlSerializer eventSource;
+		int delayedFixupId = 0;
 
 		string w3SchemaNS;
 		string w3SchemaNS2000;
@@ -567,7 +568,7 @@ namespace System.Xml.Serialization {
 				if (qname == arrayQName || arrayType != null)
 				{
 					delayedListFixups = EnsureHashtable (delayedListFixups);
-					fixupReference = "__<" + delayedListFixups.Count + ">";
+					fixupReference = "__<" + (delayedFixupId++) + ">";
 					object items;
 					ReadList (out items);
 					delayedListFixups [fixupReference] = items;