[Pkg-mono-svn-commits] [SCM] mono branch, master, updated. debian/2.4.4.svn151842-1-7-g05f34d0

Mirco Bauer meebey at meebey.net
Sun Apr 25 11:26:59 UTC 2010


The following commit has been merged in the master branch:
commit fe00c7e8c9e3eea482f353bd228e91f63aa7386d
Author: Mirco Bauer <meebey at meebey.net>
Date:   Sun Apr 25 13:22:19 2010 +0200

    Revert "  * debian/patches/fix_gridview_r146128_r146133.dpatch:"
    
    This reverts commit 13271c3351cd2b7df2ab337ae0b256fada0a5eaf.
    
    Conflicts:
    
    	debian/changelog

diff --git a/debian/changelog b/debian/changelog
index 3199cc0..58c1e9b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,8 +3,11 @@ mono (2.4.4~svn151842-2~pre1) unstable; urgency=low
   * NOT RELEASED YET
   * debian/control:
     + Changed section of libmono-dev back to cli-mono.
+  * mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs
+    mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs:
+    + Reverted dpatch changes that were done accidentally.
 
- -- Mirco Bauer <meebey at debian.org>  Sat, 20 Feb 2010 12:13:59 +0100
+ -- Mirco Bauer <meebey at debian.org>  Sat, 24 Apr 2010 20:57:36 +0200
 
 mono (2.4.4~svn151842-1) unstable; urgency=medium
 
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs
index 86ec1e8..23e321c 100644
--- a/mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs
+++ b/mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs
@@ -47,6 +47,8 @@ namespace System.Web.UI.WebControls {
 		TableCellCollection cells;
 #if NET_2_0
 		bool tableRowSectionSet;
+
+		internal TableRowCollection Container { get; set; }
 #endif
 		
 		public TableRow ()
@@ -129,6 +131,9 @@ namespace System.Web.UI.WebControls {
 					throw new ArgumentOutOfRangeException ("TableSection");
 				ViewState ["TableSection"] = (int) value;
 				tableRowSectionSet = true;
+				TableRowCollection container = Container;
+				if (container != null)
+					container.RowTableSectionSet ();
 			}
 		}
 #endif
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs
index c9a9624..2267cc8 100644
--- a/mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs
+++ b/mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs
@@ -43,6 +43,9 @@ namespace System.Web.UI.WebControls {
 		
 		internal TableRowCollection (Table table)
 		{
+			if (table == null)
+				throw new ArgumentNullException ("table");
+			
 			cc = table.Controls;
 			owner = table;
 		}
@@ -69,9 +72,12 @@ namespace System.Web.UI.WebControls {
 
 		public int Add (TableRow row)
 		{
+			if (row == null)
+				throw new NullReferenceException (); // .NET compatibility
 #if NET_2_0
 			if (row.TableRowSectionSet)
 				owner.GenerateTableSections = true;
+			row.Container = this;
 #endif
 			int index = cc.IndexOf (row);
 			if (index < 0) {
@@ -83,10 +89,14 @@ namespace System.Web.UI.WebControls {
 
 		public void AddAt (int index, TableRow row)
 		{
+			if (row == null)
+				throw new NullReferenceException (); // .NET compatibility
+			
 			if (cc.IndexOf (row) < 0) {
 #if NET_2_0
 				if (row.TableRowSectionSet)
 					owner.GenerateTableSections = true;
+				row.Container = this;
 #endif
 				cc.AddAt (index, row);
 			}
@@ -95,10 +105,14 @@ namespace System.Web.UI.WebControls {
 		public void AddRange (TableRow[] rows)
 		{
 			foreach (TableRow tr in rows) {
+				if (tr == null)
+					throw new NullReferenceException (); // .NET compatibility
+				
 				if (cc.IndexOf (tr) < 0) {
 #if NET_2_0
 					if (tr.TableRowSectionSet)
 						owner.GenerateTableSections = true;
+					tr.Container = this;
 #endif
 					cc.Add (tr);
 				}
@@ -128,13 +142,30 @@ namespace System.Web.UI.WebControls {
 			return cc.IndexOf (row);
 		}
 
+#if NET_2_0
+		internal void RowTableSectionSet ()
+		{
+			owner.GenerateTableSections = true;
+		}
+#endif
+		
 		public void Remove (TableRow row)
 		{
+#if NET_2_0
+			if (row != null)
+				row.Container = null;
+#endif
 			cc.Remove (row);
 		}
 
 		public void RemoveAt (int index)
 		{
+#if NET_2_0
+			TableRow row = this [index] as TableRow;
+			if (row != null)
+				row.Container = null;
+#endif
+			
 			cc.RemoveAt (index);
 		}
 
@@ -156,28 +187,27 @@ namespace System.Web.UI.WebControls {
 
 		int IList.Add (object value)
 		{
-			cc.Add ((TableRow)value);
-			return cc.IndexOf ((TableRow)value);
+			return Add (value as TableRow);
 		}
 
 		bool IList.Contains (object value)
 		{
-			return cc.Contains ((TableRow)value);
+			return cc.Contains (value as TableRow);
 		}
 
 		int IList.IndexOf (object value)
 		{
-			return cc.IndexOf ((TableRow)value);
+			return cc.IndexOf (value as TableRow);
 		}
 
 		void IList.Insert (int index, object value)
 		{
-			cc.AddAt (index, (TableRow)value);
+			AddAt (index, value as TableRow);
 		}
 
 		void IList.Remove (object value)
 		{
-			cc.Remove ((TableRow)value);
+			Remove (value as TableRow);
 		}
 	}
 }

-- 
mono



More information about the Pkg-mono-svn-commits mailing list