[Mono-bugs] [Bug 79201][Cri] Changed - NPlot crash

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Sep 15 22:08:10 EDT 2006

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 toshok at ximian.com.


--- shadow/79201	2006-09-08 20:43:08.000000000 -0400
+++ shadow/79201.tmp.17321	2006-09-15 22:08:10.000000000 -0400
@@ -1,13 +1,13 @@
 Bug#: 79201
 Product: Mono: Class Libraries
 Version: 1.1
 OS: unknown
 OS Details: 
-Status: ASSIGNED   
+Status: RESOLVED   
+Resolution: FIXED
 Severity: Unknown
 Priority: Critical
 Component: Windows.Forms
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: unserkonig at gmail.com               
 QAContact: toshok at ximian.com
@@ -34,6 +34,23 @@
 Yeah, exactly. The first time it runs fine, but next calls don't. 
 I'm using libgdiplus/mono from svn.
 ------- Additional Comments From peter at novonyx.com  2006-09-01 18:23 -------
 this might be the same as 79196
+------- Additional Comments From toshok at ximian.com  2006-09-15 22:08 -------
+so there might be some dependency on 79196, but it's definitely got a
+more nplot specific problem here.  The trouble is that the new thread
+is created in response to a button click.
+When the button is clicked it's redrawn to show the focus rectangle. 
+At the same time we have a thread starting up that creates a new form.
+ The new form is focused, which causes the new thread to SendMessage
+(KILLFOCUS) on the button.  The KILLFOCUS handling causes a redraw,
+which happens on the second thread.  So we have 2 threads painting the
+same control at the same time, which is a big no no.
+The fix I'm committing might be a little gross but it fixes the
+problem.  In XplatUIX11.SendMessage, if the control is owned by a
+different thread, we use the AsyncMethod stuff to dispatch the
+SendMessage to the thread owning that control.

More information about the mono-bugs mailing list