Author: mhabersack
Date: 2007-06-20 17:35:49 -0400 (Wed, 20 Jun 2007)
New Revision: 80368

Modified:
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/WebControl.cs
Log:
2007-06-20  Marek Habersack  <[EMAIL PROTECTED]>

        * WebControl.cs: if savedState is a Triplet, take the actual state
        data from savedState.First. Also make sure that the data is a
        Pair. Fixes bug #78533.


Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2007-06-20 21:17:11 UTC (rev 80367)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2007-06-20 21:35:49 UTC (rev 80368)
@@ -1,5 +1,9 @@
 2007-06-20  Marek Habersack  <[EMAIL PROTECTED]>
 
+       * WebControl.cs: if savedState is a Triplet, take the actual state
+       data from savedState.First. Also make sure that the data is a
+       Pair. Fixes bug #78533.
+
        * DataSourceCacheManager.cs: use HttpContext.Current.InternalCache
        to keep private entries.
        * XmlDataSource.cs: as above

Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/WebControl.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/WebControl.cs  
2007-06-20 21:17:11 UTC (rev 80367)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/WebControl.cs  
2007-06-20 21:35:49 UTC (rev 80368)
@@ -528,12 +528,21 @@
                protected override void LoadViewState (object savedState) 
                {
                        if (savedState == null) {
-                               base.LoadViewState(null);
+                               base.LoadViewState (null);
                                return;
                        }
 
-                       Pair pair = (Pair) savedState;
+                       Pair pair;
+                       if (savedState is Triplet) {
+                               pair = ((Triplet)savedState).First as Pair;
+                       } else
+                               pair = savedState as Pair;
 
+                       if (pair == null) {
+                               base.LoadViewState (null);
+                               return;
+                       }
+                       
                        base.LoadViewState (pair.First);
                        if (ViewState 
[System.Web.UI.WebControls.Style.BitStateKey] != null)
                                ControlStyle.LoadBitState ();

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to