[Pkg-mono-svn-commits] [SCM] mono branch, master, updated. debian/2.4.2.3+dfsg-2-5-g231ef33

Jo Shields directhex at apebox.org
Sun Nov 15 19:24:07 UTC 2009


The following commit has been merged in the master branch:
commit 3b7206884a134a9144b41e47220d996303d51e37
Author: Jo Shields <directhex at apebox.org>
Date:   Sun Nov 15 18:03:29 2009 +0000

    Added patch from SVN to fix GridView on ASP.NET

diff --git a/debian/changelog b/debian/changelog
index 1e50779..7a35f5a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ mono (2.4.2.3+dfsg-3) UNRELEASED; urgency=low
   [ Jo Shields ]
   * Add missing Conflicts/Replaces on monodoc-base from pre-Squeeze due
     to monodoc.dll.mdb conflict
+  * debian/patches/fix_gridview_r146128.dpatch:
+    + Add fix from Mono SVN for TableRowCollection in ASP.NET
 
   [ Mirco Bauer ]
   * Added mono-gmcs to mono-csharp-shell dependencies as it links gmcs.exe
diff --git a/debian/patches/00list b/debian/patches/00list
index e9ea2c7..1259a8d 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -15,6 +15,7 @@ fix_mdoc_build
 fix_tuner_build
 fix_metadata_dup
 fix_CreateDelegate_ArgumentException
+fix_gridview_r146128
 disable_building_convert.exe
 disable_bug-80307_test
 build_cecil_as_2.0
diff --git a/debian/patches/fix_gridview_r146128.dpatch b/debian/patches/fix_gridview_r146128.dpatch
new file mode 100755
index 0000000..9ffcfd4
--- /dev/null
+++ b/debian/patches/fix_gridview_r146128.dpatch
@@ -0,0 +1,147 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fix-mono-cairo.pc.in.dpatch by Jo Shields <directhex at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at DPATCH@
+Index: mono-2-4/mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs
+===================================================================
+--- mono-2-4/mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs	(revision 146127)
++++ mono-2-4/mcs/class/System.Web/System.Web.UI.WebControls/TableRowCollection.cs	(revision 146128)
+@@ -43,6 +43,9 @@
+ 		
+ 		internal TableRowCollection (Table table)
+ 		{
++			if (table == null)
++				throw new ArgumentNullException ("table");
++			
+ 			cc = table.Controls;
+ 			owner = table;
+ 		}
+@@ -69,9 +72,12 @@
+ 
+ 		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 @@
+ 
+ 		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 @@
+ 		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,25 @@
+ 			return cc.IndexOf (row);
+ 		}
+ 
++#if NET_2_0
++		internal void RowTableSectionSet ()
++		{
++			owner.GenerateTableSections = true;
++		}
++#endif
++		
+ 		public void Remove (TableRow row)
+ 		{
++			row.Container = null;
+ 			cc.Remove (row);
+ 		}
+ 
+ 		public void RemoveAt (int index)
+ 		{
++			TableRow row = this [index] as TableRow;
++			if (row != null)
++				row.Container = null;
++			
+ 			cc.RemoveAt (index);
+ 		}
+ 
+@@ -156,28 +182,27 @@
+ 
+ 		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);
+ 		}
+ 	}
+ }
+Index: mono-2-4/mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs
+===================================================================
+--- mono-2-4/mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs	(revision 146127)
++++ mono-2-4/mcs/class/System.Web/System.Web.UI.WebControls/TableRow.cs	(revision 146128)
+@@ -47,6 +47,8 @@
+ 		TableCellCollection cells;
+ #if NET_2_0
+ 		bool tableRowSectionSet;
++
++		internal TableRowCollection Container { get; set; }
+ #endif
+ 		
+ 		public TableRow ()
+@@ -129,6 +131,9 @@
+ 					throw new ArgumentOutOfRangeException ("TableSection");
+ 				ViewState ["TableSection"] = (int) value;
+ 				tableRowSectionSet = true;
++				TableRowCollection container = Container;
++				if (container != null)
++					container.RowTableSectionSet ();
+ 			}
+ 		}
+ #endif

-- 
mono



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