X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem.Web%2FSystem.Web.UI.WebControls%2FTreeNodeCollection.cs;h=79899ead9a63e43a9743f64be46a2477f068e965;hb=0156d5e21a4d5cba83d909f2521f4a0fcff9668b;hp=698790512109eb8626309152223e4481bf2215dc;hpb=99b0fd02d8da0b2d418b583b88c4dc18c2939bb4;p=mono.git diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeCollection.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeCollection.cs index 69879051210..79899ead9a6 100644 --- a/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeCollection.cs +++ b/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeCollection.cs @@ -78,6 +78,7 @@ namespace System.Web.UI.WebControls child.SetParent (parent); if (marked) { child.TrackViewState (); + child.SetDirty (); dirty = true; } } @@ -92,6 +93,7 @@ namespace System.Web.UI.WebControls ((TreeNode)items[n]).Index = n; if (marked) { child.TrackViewState (); + child.SetDirty (); dirty = true; } } @@ -163,7 +165,7 @@ namespace System.Web.UI.WebControls { items.CopyTo (array, index); } - + void IStateManager.LoadViewState (object state) { if (state == null) return; @@ -180,9 +182,8 @@ namespace System.Web.UI.WebControls TreeNode node; if (oi != -1) node = originalItems [oi]; else node = new TreeNode (); + if (dirty) Add (node); node.LoadViewState (pair.Second); - if (dirty) - Add (node); } }