[Mono-winforms-list] XplatUi exception with label.Autosize

David Suarez listasdavid at codicesoftware.com
Fri Dec 21 14:01:50 EST 2007


Hi, 

I get this exception on a label with autosize set to true and updating
text a lot. Actually text changing was being Control.Invoked from a
different thread. I guess it'll be difficult to create a simple testcase
for this one, but anyway it's not critical, I solved setting autosize
off. 

This is the trace in case you want to investigate (first sight I'd say
it is not related to the thread invoke()

X11 Error encountered: 
  Error: RenderBadPicture (invalid Picture parameter)
  Request:     153 (26)
  Resource ID: 0x3A01234
  Serial:      34807
  Hwnd:        <null>
  Control:     <null>   at System.Environment.get_StackTrace()
in /home/dave/mono-src/mcs/class/corlib/System/Environment.cs:line 203
   at System.Windows.Forms.XplatUIX11.HandleError(IntPtr display,
XErrorEvent ByRef error_event)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 1857
   at System.Windows.Forms.XplatUIX11.HandleError(IntPtr , XErrorEvent
ByRef )
   at System.Windows.Forms.XplatUIX11.XGetWMNormalHints(IntPtr ,
IntPtr , XSizeHints ByRef , IntPtr ByRef )
   at System.Windows.Forms.XplatUIX11.XGetWMNormalHints(IntPtr ,
IntPtr , XSizeHints ByRef , IntPtr ByRef )
   at System.Windows.Forms.XplatUIX11.SetWindowMinMax(IntPtr handle,
Rectangle maximized, Size min, Size max,
System.Windows.Forms.CreateParams cp)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 5278
   at System.Windows.Forms.XplatUIX11.SetWindowMinMax(IntPtr handle,
Rectangle maximized, Size min, Size max)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 5262
   at System.Windows.Forms.XplatUIX11.SetWindowPos(IntPtr handle, Int32
x, Int32 y, Int32 width, Int32 height)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 5360
   at System.Windows.Forms.XplatUI.SetWindowPos(IntPtr handle, Int32 x,
Int32 y, Int32 width, Int32 height)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs:line 1034
   at System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32
width, Int32 height, BoundsSpecified specified)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line 4689
   at System.Windows.Forms.Label.SetBoundsCore(Int32 x, Int32 y, Int32
width, Int32 height, BoundsSpecified specified)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Label.cs:line 701
   at System.Windows.Forms.Control.SetBounds(Int32 x, Int32 y, Int32
width, Int32 height, BoundsSpecified specified)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line 4155
   at System.Windows.Forms.Label.CalcAutoSize()
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Label.cs:line 732
   at System.Windows.Forms.Label.OnTextChanged(System.EventArgs e)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Label.cs:line 678
   at System.Windows.Forms.Control.set_Text(System.String value)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line 3182
   at Codice.I3.I3Label.set_Text(System.String value)
   at Codice.CM.Client.Gui.ProgressForm.set_CurrentFile(System.String
value)
   at
Codice.CM.Client.Gui.BackgroundOperationManager.SetProgressElement(System.String name)
   at
Codice.Client.BaseCommands.UndoCheckoutCmdImpl.DoUndoCheckout(System.String[] ByRef paths, IProgressNotifier progressNotifier)
   at
Codice.Client.BaseCommands.UndoCheckoutCmdImpl.UndoCheckout(System.String[] paths, IProgressNotifier progressNotifier)
   at
Codice.Client.BaseCommands.BaseCommandsImpl.UndoCheckout(System.String[]
paths, IProgressNotifier progressNotifier)
   at
Codice.CM.Client.Gui.GuiItem.Uncheckout(Codice.CM.Client.Gui.GuiObject[]
selectedObjects, System.String nothing)
   at System.Reflection.MonoMethod.InternalInvoke(System.Object ,
System.Object[] )
   at System.Reflection.MonoMethod.InternalInvoke(System.Object ,
System.Object[] )
   at System.Reflection.MonoMethod.Invoke(System.Object obj,
BindingFlags invokeAttr, System.Reflection.Binder binder,
System.Object[] parameters, System.Globalization.CultureInfo culture)
in /home/dave/mono-src/mcs/class/corlib/System.ReflectionX11 Error
encountered: 
  Error: RenderBadPicture (invalid Picture parameter)
  Request:     153 (26)
  Resource ID: 0x3A01234
  Serial:      34807
  Hwnd:        <null>
  Control:     <null>   at System.Environment.get_StackTrace()
in /home/dave/mono-src/mcs/class/corlib/System/Environment.cs:line 203
   at System.Windows.Forms.XplatUIX11.HandleError(IntPtr display,
XErrorEvent ByRef error_event)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 1857
   at System.Windows.Forms.XplatUIX11.HandleError(IntPtr , XErrorEvent
ByRef )
   at System.Windows.Forms.XplatUIX11.XGetWMNormalHints(IntPtr ,
IntPtr , XSizeHints ByRef , IntPtr ByRef )
   at System.Windows.Forms.XplatUIX11.XGetWMNormalHints(IntPtr ,
IntPtr , XSizeHints ByRef , IntPtr ByRef )
   at System.Windows.Forms.XplatUIX11.SetWindowMinMax(IntPtr handle,
Rectangle maximized, Size min, Size max,
System.Windows.Forms.CreateParams cp)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 5278
   at System.Windows.Forms.XplatUIX11.SetWindowMinMax(IntPtr handle,
Rectangle maximized, Size min, Size max)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 5262
   at System.Windows.Forms.XplatUIX11.SetWindowPos(IntPtr handle, Int32
x, Int32 y, Int32 width, Int32 height)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs:line 5360
   at System.Windows.Forms.XplatUI.SetWindowPos(IntPtr handle, Int32 x,
Int32 y, Int32 width, Int32 height)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUI.cs:line 1034
   at System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32
width, Int32 height, BoundsSpecified specified)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line 4689
   at System.Windows.Forms.Label.SetBoundsCore(Int32 x, Int32 y, Int32
width, Int32 height, BoundsSpecified specified)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Label.cs:line 701
   at System.Windows.Forms.Control.SetBounds(Int32 x, Int32 y, Int32
width, Int32 height, BoundsSpecified specified)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line 4155
   at System.Windows.Forms.Label.CalcAutoSize()
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Label.cs:line 732
   at System.Windows.Forms.Label.OnTextChanged(System.EventArgs e)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Label.cs:line 678
   at System.Windows.Forms.Control.set_Text(System.String value)
in /home/dave/mono-src/mcs/class/Managed.Windows.Forms/System.Windows.Forms/Control.cs:line 3182
   at Codice.I3.I3Label.set_Text(System.String value)
   at Codice.CM.Client.Gui.ProgressForm.set_CurrentFile(System.String
value)
   at
Codice.CM.Client.Gui.BackgroundOperationManager.SetProgressElement(System.String name)
   at
Codice.Client.BaseCommands.UndoCheckoutCmdImpl.DoUndoCheckout(System.String[] ByRef paths, IProgressNotifier progressNotifier)
   at
Codice.Client.BaseCommands.UndoCheckoutCmdImpl.UndoCheckout(System.String[] paths, IProgressNotifier progressNotifier)
   at
Codice.Client.BaseCommands.BaseCommandsImpl.UndoCheckout(System.String[]
paths, IProgressNotifier progressNotifier)
   at
Codice.CM.Client.Gui.GuiItem.Uncheckout(Codice.CM.Client.Gui.GuiObject[]
selectedObjects, System.String nothing)
   at System.Reflection.MonoMethod.InternalInvoke(System.Object ,
System.Object[] )
   at System.Reflection.MonoMethod.InternalInvoke(System.Object ,
System.Object[] )
   at System.Reflection.MonoMethod.Invoke(System.Object obj,
BindingFlags invokeAttr, System.Reflection.Binder binder,
System.Object[] parameters, System.Globalization.CultureInfo culture)
in /home/dave/mono-src/mcs/class/corlib/System.Reflection/MonoMethod.cs:line 149
   at System.Reflection.MethodBase.Invoke(System.Object obj,
System.Object[] parameters)
in /home/dave/mono-src/mcs/class/corlib/System.Reflection/MethodBase.cs:line 90
   at System.Delegate.DynamicInvokeImpl(System.Object[] args)
in /home/dave/mono-src/mcs/class/corlib/System/Delegate.cs:line 398
   at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args)
in /home/dave/mono-src/mcs/class/corlib/System/MulticastDelegate.cs:line
71
   at System.Delegate.DynamicInvoke(System.Object[] args)
in /home/dave/mono-src/mcs/class/corlib/System/Delegate.cs:line 370
   at Codice.CM.Client.Gui.BackgroundOperationManager.ThreadProc()
/MonoMethod.cs:line 149
   at System.Reflection.MethodBase.Invoke(System.Object obj,
System.Object[] parameters)
in /home/dave/mono-src/mcs/class/corlib/System.Reflection/MethodBase.cs:line 90
   at System.Delegate.DynamicInvokeImpl(System.Object[] args)
in /home/dave/mono-src/mcs/class/corlib/System/Delegate.cs:line 398
   at System.MulticastDelegate.DynamicInvokeImpl(System.Object[] args)
in /home/dave/mono-src/mcs/class/corlib/System/MulticastDelegate.cs:line
71
   at System.Delegate.DynamicInvoke(System.Object[] args)
in /home/dave/mono-src/mcs/class/corlib/System/Delegate.cs:line 370
   at Codice.CM.Client.Gui.BackgroundOperationManager.ThreadProc()





More information about the Mono-winforms-list mailing list