[Mono-winforms-list] X11 Scrolling Regressions

Ivan N. Zlatev contact at i-nz.net
Wed Jun 4 13:10:11 EDT 2008


On Wed, Jun 4, 2008 at 6:01 PM, Ernesto <equistango at gmail.com> wrote:
> Ivan N. Zlatev escribió:
>>
>> We have two scrolling regressions on X11:
>>
>> 1) Carlos, your X11 changes cause the first. Check the attached test
>> case grab: the scrollbar and scroll up/down fast. You will notice that
>> we seem not to redraw properly. I can reproduce this with any
>> scrollable control.
>>
>> 2) Scrolling with the scrollbar's scroll buttons makes it flicker like
>> mad during scrolling. It doesn't happen if I scroll by dragging the
>> bar.
>>
>> Cheers,
>> Ivan
>>
>
> Maybe this stack trace helps. I'm getting dozens of this when running a
> winforms app:
>
> X11 Error encountered:
> Error: BadWindow (invalid Window parameter)
> Request:     3 (0)
> Resource ID: 0x0
> Serial:      399
> Hwnd:        <null>
> Control:     <null>   at System.Environment.get_StackTrace() in
> /home/usuario/mono/mcs/class/corlib/System/Environment.cs:line 203
>  at System.Windows.Forms.XplatUIX11.HandleError(IntPtr display, XErrorEvent
> ByRef error_event) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 1873
>  at System.Windows.Forms.XplatUIX11.XGetWindowAttributes(IntPtr , IntPtr ,
> XWindowAttributes ByRef )
>  at
> System.Windows.Forms.XplatUIX11.GetVisibleRegion(System.Windows.Forms.Control
> c, Rectangle visible_area) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 5011
>  at System.Windows.Forms.XplatUIX11.GetTotalVisibleArea(IntPtr handle) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 4970
>  at System.Windows.Forms.XplatUIX11.ScrollWindow(IntPtr handle, Rectangle
> area, Int32 XAmount, Int32 YAmount, Boolean with_children) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 4900
>  at System.Windows.Forms.XplatUI.ScrollWindow(IntPtr handle, Rectangle
> rectangle, Int32 XAmount, Int32 YAmount, Boolean with_children) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs:line
> 902
>  at System.Windows.Forms.TextBoxBase.vscroll_ValueChanged(System.Object
> sender, System.EventArgs e) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TextBoxBase.cs:line
> 2196
>  at System.Windows.Forms.ScrollBar.OnValueChanged(System.EventArgs e) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ScrollBar.cs:line
> 689
>  at System.Windows.Forms.ScrollBar.set_Value(Int32 value) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ScrollBar.cs:line
> 609
>  at System.Windows.Forms.TextBoxBase.CaretMoved(System.Object sender,
> System.EventArgs e) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TextBoxBase.cs:line
> 2369
>  at System.Windows.Forms.TextBoxBase.ScrollToCaret() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TextBoxBase.cs:line
> 836
>  at System.Windows.Forms.TextBoxBase.CreateHandle() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/TextBoxBase.cs:line
> 986
>  at System.Windows.Forms.Control.CreateControl() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 3746
>  at System.Windows.Forms.Control.CreateControl() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 3758
>  at System.Windows.Forms.Control.WmShowWindow(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 5738
>  at System.Windows.Forms.Control.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 5327
>  at System.Windows.Forms.ScrollableControl.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ScrollableControl.cs:line
> 807
>  at System.Windows.Forms.ContainerControl.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ContainerControl.cs:line
> 631
>  at System.Windows.Forms.UserControl.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/UserControl.cs:line
> 150
>  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage(Message ByRef
> m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 227
>  at System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message ByRef
> m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 208
>  at System.Windows.Forms.NativeWindow.WndProc(IntPtr hWnd, Msg msg, IntPtr
> wParam, IntPtr lParam) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/NativeWindow.cs:line
> 240
>  at System.Windows.Forms.XplatUIX11.SendMessage(IntPtr hwnd, Msg message,
> IntPtr wParam, IntPtr lParam) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 5100
>  at
> System.Windows.Forms.XplatUIX11.CreateWindow(System.Windows.Forms.CreateParams
> cp) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 2745
>  at
> System.Windows.Forms.XplatUI.CreateWindow(System.Windows.Forms.CreateParams
> cp) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs:line
> 475
>  at
> System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams
> cp) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/NativeWindow.cs:line
> 167
>  at System.Windows.Forms.Control.CreateHandle() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 4449
>  at System.Windows.Forms.Control.CreateControl() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 3746
>  at System.Windows.Forms.Control.CreateControl() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 3758
>  at System.Windows.Forms.Control.WmShowWindow(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 5738
>  at System.Windows.Forms.Control.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 5327
>  at System.Windows.Forms.ScrollableControl.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ScrollableControl.cs:line
> 807
>  at System.Windows.Forms.ContainerControl.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/ContainerControl.cs:line
> 631
>  at System.Windows.Forms.Form.WndProc(Message ByRef m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs:line
> 2535
>  at System.Windows.Forms.Control+ControlWindowTarget.OnMessage(Message ByRef
> m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 227
>  at System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message ByRef
> m) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 208
>  at System.Windows.Forms.NativeWindow.WndProc(IntPtr hWnd, Msg msg, IntPtr
> wParam, IntPtr lParam) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/NativeWindow.cs:line
> 240
>  at System.Windows.Forms.XplatUIX11.SendMessage(IntPtr hwnd, Msg message,
> IntPtr wParam, IntPtr lParam) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 5100
>  at System.Windows.Forms.XplatUIX11.MapWindow(System.Windows.Forms.Hwnd
> hwnd, WindowType windows) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 1442
>  at
> System.Windows.Forms.XplatUIX11.CreateWindow(System.Windows.Forms.CreateParams
> cp) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line
> 2743
>  at
> System.Windows.Forms.XplatUI.CreateWindow(System.Windows.Forms.CreateParams
> cp) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs:line
> 475
>  at
> System.Windows.Forms.NativeWindow.CreateHandle(System.Windows.Forms.CreateParams
> cp) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/NativeWindow.cs:line
> 167
>  at System.Windows.Forms.Control.CreateHandle() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 4449
>  at System.Windows.Forms.Form.CreateHandle() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs:line
> 1938
>  at System.Windows.Forms.Control.CreateControl() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 3746
>  at System.Windows.Forms.Control.SetVisibleCore(Boolean value) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 5020
>  at System.Windows.Forms.Form.SetVisibleCore(Boolean value) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs:line
> 2392
>  at System.Windows.Forms.Control.set_Visible(Boolean value) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line
> 3399
>  at System.Windows.Forms.Application.RunLoop(Boolean Modal,
> System.Windows.Forms.ApplicationContext context) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Application.cs:line
> 795
>  at System.Windows.Forms.Form.ShowDialog(IWin32Window owner) in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs:line
> 1747
>  at System.Windows.Forms.Form.ShowDialog() in
> /home/usuario/mono/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Form.cs:line
> 1672
>  at Lazaro.Aplicacion.IniciarNormal()
>  at Lazaro.Aplicacion.Main(System.String[] args)
>
>

I do not get such errors here. What's your system? 32bit opensuse 10.3 here.


More information about the Mono-winforms-list mailing list