Hello, Chris. So can I commit these patches yet?
Thank you. Andrew. > -----Original Message----- > From: Chris Toshok [mailto:[EMAIL PROTECTED] > Sent: Tuesday, April 25, 2006 20:51 > To: Andrew Skiba > Cc: mono-devel-list@lists.ximian.com > Subject: Re: [WARNING : A/V UNSCANNABLE] RE: [Mono-dev] > System.Web.UI.Pagepatch > > On Tue, 2006-04-25 at 02:16 -0700, Andrew Skiba wrote: > > > I'd like to see the test used for this as well. > > > > Did you see the standalone test that I sent yesterday? For > > convenience, I attach it to this message, too. It covers > the following patches: > > > > ApplyTheme.patch > > Page.Web.Config.patch > > PageTheme.patch > > > > > At first blush the theme change looks ok, but I really don't like > > > the idea of adding the ApplyTheme behavior to OnInit. > > > Unless, of course, this is what actually happens in MS's > > > implementation. > > > > It's not OnInit, it's in CreateChildControls flow. To > figure that out > > in MS implementation I made this: > > ah, sorry - I wasn't looking at the line numbers, I just > searched for the surrounding patch context. > > > public class MyLogin:Login > > { > > protected override void OnInit (EventArgs e) > > { > > Trace.WriteLine ("before Login.OnInit"); > > base.OnInit (e); > > Trace.WriteLine ("after Login.OnInit"); > > } > > protected override void AddedControl > (System.Web.UI.Control control, > > int index) > > { > > Trace.WriteLine ("before Login.AddedControl"); > > base.AddedControl (control, index); > > Trace.WriteLine ("after Login.AddedControl"); > > } > > > > protected override void CreateChildControls() > > { > > Trace.WriteLine ("before > > Login.CreateChildControls"); > > base.CreateChildControls (); > > Trace.WriteLine ("after > > Login.CreateChildControls"); > > } > > } > > > > public class MyImageButton:ImageButton > > { > > protected override void OnInit (EventArgs e) > > { > > Trace.WriteLine ("ImageButton.OnInit"); > > base.OnInit (e); > > } > > public override void ApplyStyleSheetSkin > (System.Web.UI.Page page) > > { > > Trace.WriteLine > > ("ImageButton.ApplyStyleSheetSkin"); > > base.ApplyStyleSheetSkin (page); > > } > > > > public override string ImageUrl > > { > > get > > { > > return base.ImageUrl; > > } > > set > > { > > Trace.WriteLine ("Set > > ImageButton.ImageURL"); > > base.ImageUrl = value; > > } > > } > > } > > > > and changed in aspx <asp:login> and <asp:imagebutton> to > <my:MyLogin> > > and <my:MyImageButton> > > > > the output looked like: > > > > before Login.OnInit > > after Login.OnInit > > before Login.CreateChildControls > > ImageButton.ApplyStyleSheetSkin > > Set ImageButton.ImageURL > > before Login.AddedControl > > ImageButton.OnInit > > after Login.AddedControl > > after Login.CreateChildControls > > > > > > > > Also, the master page change doesn't seem necessary to me, in the > > > scope of the greater change. The controls will have their OnInit > > > methods's called properly when they're added to the > already Init'ed > > > controls. > > > > If you do ApplyMasterPage after InitRecursive, then > elements defined > > on master page do not get their themes. Just try the > standalone test I > > sent, the difference is clear. > > My comment was made under the assumption that the ApplyTheme > call was in OnInit (as above.) > > I'll take a look at this further tonight probably. > > Chris > _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list