2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Thu, 3 Aug 2006 16:59:39 +0000 (16:59 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Thu, 3 Aug 2006 16:59:39 +0000 (16:59 -0000)
* Style.cs:
* Label.cs:
* TreeView.cs: Patch by Marek Habersack that fixes bug #78968 take 2.

svn path=/trunk/mcs/; revision=63311

mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
mcs/class/System.Web/System.Web.UI.WebControls/Label.cs
mcs/class/System.Web/System.Web.UI.WebControls/Style.cs
mcs/class/System.Web/System.Web.UI.WebControls/TreeView.cs

index c6ae55a702cff2a8139165d5e30a2b4faca3ee5e..75bce694e5a5b37004f69e46938a474b2709ced5 100644 (file)
@@ -1,3 +1,9 @@
+2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * Style.cs:
+       * Label.cs:
+       * TreeView.cs: Patch by Marek Habersack that fixes bug #78968 take 2.
+
 2006-08-03 Vladimir Krasnov <vladimirk@mainsoft.com>
 
        * Style.cs: fixed restoring FontInfo from ViewState
index 6332e82267c39eeaef695e5e6b72117d1bfdde46..3006cf4cae423d119d20cf8287b5429bf1107bb9 100644 (file)
@@ -122,6 +122,17 @@ namespace System.Web.UI.WebControls {
                        }
                }
 
+#if NET_2_0
+               protected internal 
+#else
+               protected
+#endif
+               override void OnPreRender (EventArgs e)
+               {
+                       base.OnPreRender (e);
+                       ControlStyle.AlwaysRenderTextDecoration = true;
+               }
+               
 #if NET_2_0
                protected internal
 #else          
index 738f584376fea27c270b3809b65f8690800769ab..d0257da0c8d1e4a8064834b608d931cd4cfb47c2 100644 (file)
@@ -379,6 +379,23 @@ namespace System.Web.UI.WebControls {
                }
                #endregion      // Protected Instance Properties
 
+               #region Internal Instance Properties
+               internal bool AlwaysRenderTextDecoration
+               {
+                       get
+                       {
+                               if (viewstate["AlwaysRenderTextDecoration"] == null)
+                                       return false;
+                               return (bool)viewstate["AlwaysRenderTextDecoration"];
+                       }
+                   
+                       set
+                       {
+                               viewstate["AlwaysRenderTextDecoration"] = value;
+                       }
+               }
+               #endregion      // Internal Instance Properties
+               
                #region Public Instance Methods
                public void AddAttributesToRender(System.Web.UI.HtmlTextWriter writer) 
                {
@@ -486,8 +503,9 @@ namespace System.Web.UI.WebControls {
                                if (fontinfo.Underline)
                                        s += "underline ";
 
-                               s = (s != "") ? s : "none";
-                               writer.AddStyleAttribute (HtmlTextWriterStyle.TextDecoration, s);
+                               s = (s != "") ? s : AlwaysRenderTextDecoration ? "none" : "";
+                               if (s != "")
+                                       writer.AddStyleAttribute (HtmlTextWriterStyle.TextDecoration, s);
                        }
                }
 
@@ -592,8 +610,9 @@ namespace System.Web.UI.WebControls {
                                        s += "underline ";
                                }
 
-                               s = (s != "") ? s : "none";
-                               attributes.Add (HtmlTextWriterStyle.TextDecoration, s);
+                               s = (s != "") ? s : AlwaysRenderTextDecoration ? "none" : "";
+                               if (s != "")
+                                       attributes.Add (HtmlTextWriterStyle.TextDecoration, s);
                        }
                }
 
index 7b89256ed9c8e1b65f4116502a00d72ca33407f6..087ba874b831f8cc81266587ee10a2b816cbff46 100644 (file)
@@ -933,6 +933,7 @@ namespace System.Web.UI.WebControls
                        base.OnPreRender (e);
 
                        cssStylesRegistered = false;
+                       ControlStyle.AlwaysRenderTextDecoration = true;
                        if (Page != null) {
                                if (Enabled)
                                        Page.RegisterRequiresPostBack (this);