Please do not reply to this email- if you want to comment on the bug, go to the URL shown below and enter your comments there.
Changed by [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=80994 --- shadow/80994 2007-03-18 21:02:54.000000000 -0500 +++ shadow/80994.tmp.7434 2007-03-18 22:44:01.000000000 -0500 @@ -1,13 +1,13 @@ Bug#: 80994 Product: Mono: Class Libraries Version: 1.2 OS: Windows XP OS Details: Service Pack 2 -Status: RESOLVED -Resolution: FIXED +Status: REOPENED +Resolution: Severity: Unknown Priority: Major Component: Windows.Forms AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] QAContact: [EMAIL PROTECTED] @@ -137,6 +137,38 @@ Will this fix be included in the next release? This bug made some of my programs incompatible with mono. ------- Additional Comments From [EMAIL PROTECTED] 2007-03-18 21:02 ------- This bug is now fixed in SVN. Thanks for the report. + +------- Additional Comments From [EMAIL PROTECTED] 2007-03-18 22:44 ------- +Since I don't completely understand the code in TextControl.cs, +TextBoxBase.cs, etc., I may be wrong. + +While the bug is technically fixed (no more NullReferenceExeption), +the fix avoids the real problem. This has nothing to do with the +selection length. The problem is that, in the SelectionFont getter, +document.selection_start.tag has a wrong value. This is caused by the +fact that, in the SelectionFont setter, the same logic is used to set +both document.selection_start.tag and document.selection_end.tag. +This is wrong to be because when the selection starts between tags +the first tag in the selection is the one after the selection start +(as opposed to the last tag in the selection, which would be the one +before the selection end, if the selection ends between tags). So my +previous patch works only in this case. +Here is test (if you want to have a NullReferenceException, change +SelectionLength = 1 to SelectionLength = 2). +using System.Diagnostics; +using System.Drawing; +using System.Windows.Forms; +class Test { + static void Main() { + RichTextBox t = new RichTextBox(); + t.Text = "123"; + t.SelectionStart = 1; + t.SelectionLength = 1; + Font f = new Font(FontFamily.GenericMonospace, 123); + t.SelectionFont = f; + Debug.Assert(t.SelectionFont.Size == f.Size); + } +} _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
