[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.
http://bugzilla.ximian.com/show_bug.cgi?id=79201
--- 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
-Resolution:
+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