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=79095 --- shadow/79095 2006-08-17 17:13:47.000000000 -0400 +++ shadow/79095.tmp.3566 2006-08-17 17:13:47.000000000 -0400 @@ -0,0 +1,103 @@ +Bug#: 79095 +Product: Mono: Class Libraries +Version: 1.1 +OS: +OS Details: Windows XP +Status: NEW +Resolution: +Severity: +Priority: Major +Component: Windows.Forms +AssignedTo: [EMAIL PROTECTED] +ReportedBy: [EMAIL PROTECTED] +QAContact: [EMAIL PROTECTED] +TargetMilestone: --- +URL: +Cc: +Summary: Crash when setting TextBox.SelectionStart in a KeyPress event + +Using SVN head, the following code causes an exception with a crash as a +consequence. The exception is throw in a drawing procedure of the TextBox. +The line that causes the problem is marked in the code. + +The program should show a form and a textbox, when you type anything into +the textbox, the program changes the first letter entered to be capital +'A'. Under MS.NET it works fine, under Mono it causes a crash. + +I'm testing on Windows, but I suppose it happens on Linux also (someone +should verify this). + +Exception stack: +Unhandled Exception: System.ArgumentOutOfRangeException: Argument is out of +range. + at System.Text.StringBuilder.ToString (Int32 startIndex, Int32 length) +[0x00000] + at System.Windows.Forms.Document.Draw (System.Drawing.Graphics g, +Rectangle clip) [0x00000] + at System.Windows.Forms.TextBoxBase.OnPaintInternal +(System.Windows.Forms.PaintEventArgs pevent) [0x00000] + at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message m) +[0x00000] + at System.Windows.Forms.TextBoxBase.WndProc (System.Windows.Forms.Message +m) [0x00000] + at System.Windows.Forms.TextBox.WndProc (System.Windows.Forms.Message m) +[0x00000] + at System.Windows.Forms.Control+ControlNativeWindow.WndProc +(System.Windows.Forms.Message m) [0x00000] + at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, +IntPtr wParam, IntPtr lParam) [0x00000] + at (wrapper native-to-managed) System.Windows.Forms.NativeWindow:WndProc +(intptr,System.Windows.Forms.Msg,intptr,intptr) + at <0x00000> <unknown method> + at (wrapper managed-to-native) +System.Windows.Forms.XplatUIWin32:Win32DispatchMessage +(System.Windows.Forms.MSG&) + at System.Windows.Forms.XplatUIWin32.DispatchMessage +(System.Windows.Forms.MSG msg) [0x00000] + at System.Windows.Forms.XplatUI.DispatchMessage (System.Windows.Forms.MSG +msg) [0x00000] + at System.Windows.Forms.Application.RunLoop (Boolean Modal, +System.Windows.Forms.ApplicationContext context) [0x00000] + at System.Windows.Forms.Application.Run (System.Windows.Forms.Form +mainForm) [0x00000] + at MonoTest19.Form1.Main () [0x00000] + + +Reproduce code: +using System; +using System.Collections.Generic; +using System.Windows.Forms; + +namespace MonoTest19 +{ + public class Form1 : Form + { + static void Main() + { + Application.Run(new Form1()); + } + + public Form1() + { + TextBox T = new TextBox(); + T.Location = new System.Drawing.Point(10, 10); + T.KeyPress += new KeyPressEventHandler(T_KeyPress); + Controls.Add(T); + } + + void T_KeyPress(object sender, KeyPressEventArgs e) + { + TextBox T = sender as TextBox; + if (T.SelectionStart == 0) + { + T.Text = "A"; + e.Handled = true; + + // this line causes the problem - though it doesn't crash +on this line + // it seems it crashes when the TextBox draws itself + T.SelectionStart = 1; + } + } + } +} _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
