[Mono-dev] Threading and Winforms on Win32 only
Rob Wilkens
robwilkens at gmail.com
Tue Jun 12 00:15:30 UTC 2012
I'm getting the following exception sporadically while testing my sample
code that is used as a unit test (though i've never had it fail as a
unit test) both with and without my patch, even with mono 2.10.8 but
this is only happening on Windows...
System.MemberAccessException: Object is busy and cannot state allow this
operation [GDI+ status: ObjectBusy]
at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000] in
<filename unknown>:0
at System.Drawing.Graphics.FillRectangle (System.Drawing.Brush brush,
Int32 x, Int32 y, Int32 width, Int32 height) [0x00000] in <filename
unknown>:0
at System.Drawing.Graphics.FillRectangle (System.Drawing.Brush brush,
Rectangle rect) [0x00000] in <filename unknown>:0
...all the way back to a WM_PAINT message...
I know this is probably happening because as someone told me recently
somewhere (I don't know if they were right) in WinForms only one thread
to control the interface, the rest are background processes......and in
this sample code, both threads create Windows......
...but this works in microsoft.net
...and it works in X11 (at least with my patch) in mono
Also, while i seem to be able to build mono in cygwin from my
git clone git at github.com:robwilkens/mono
tree but , i seem to have errors when i try to compile from my
git clone git at github.com:mono/mono
tree. Am I doing something wrong or is cygwin-based windows building
having issues (i ask because of the question asked on the list in the
last 24 hours about windows builds).
More information about the Mono-devel-list
mailing list