From 3175239e84e8da9619c7520577021ea60e95c844 Mon Sep 17 00:00:00 2001 From: Lluis Sanchez Date: Fri, 6 May 2011 18:37:19 +0200 Subject: [PATCH] [Web Services] Fix regression caused by previous commit Fixes a regression caused by the implementation of support for optional parameters. GlobalIndex was not being set when using SOAP RPC protocol. --- .../System.XML/System.Xml.Serialization/XmlTypeMapMember.cs | 2 +- .../System.XML/System.Xml.Serialization/XmlTypeMapping.cs | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapMember.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapMember.cs index 9d2b846d437..18eb390584c 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapMember.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapMember.cs @@ -41,7 +41,7 @@ namespace System.Xml.Serialization { string _name; int _index; - int _globalIndex; + int _globalIndex = -1; int _specifiedGlobalIndex = -1; TypeData _typeData; MemberInfo _member; diff --git a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs index 299aca2d16b..752aae73c27 100644 --- a/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs +++ b/mcs/class/System.XML/System.Xml.Serialization/XmlTypeMapping.cs @@ -306,6 +306,10 @@ namespace System.Xml.Serialization public void AddMember (XmlTypeMapMember member) { + // If GlobalIndex has not been set, set it now + if (member.GlobalIndex == -1) + member.GlobalIndex = _allMembers.Count; + _allMembers.Add (member); if (!(member.DefaultValue is System.DBNull) && member.DefaultValue != null) { -- 2.25.1