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 [EMAIL PROTECTED] http://bugzilla.ximian.com/show_bug.cgi?id=81740 --- shadow/81740 2007-06-05 11:21:52.000000000 -0400 +++ shadow/81740.tmp.31422 2007-06-12 13:27:37.000000000 -0400 @@ -205,6 +205,45 @@ included) to get the exception Thanks ------- Additional Comments From [EMAIL PROTECTED] 2007-06-05 11:21 ------- A smaller test case would be easier to debug (especially one that doesn't depend on F#). + +------- Additional Comments From [EMAIL PROTECTED] 2007-06-12 13:27 ------- +Hi, here is the workaround that Don Syme has put in the next relase of F#. +(in the worker.fs of the CuncurrentLife sample in the F# distribution) + +---------------------------------- +// Capture the synchronization context of the thread that creates this +object. This +// allows us to send messages back to the GUI thread painlessly. +let callerCtxt = + match System.Threading.SynchronizationContext.Current with + | null -> null // +System.ComponentModel.AsyncOperationManager.SynchronizationContext + | x -> x +//do if callerCtxt = null then failwith "Couldn't detect the +synchronization context of the calling thread" + +let runInCallerCtxt f = + match callerCtxt with + | null -> + // callerCtxt is null on Mono. This is a bug. +System.Threading.SynchronizationContext.Current doesn't return a useful + // result. This is a little unfortunate. +System.ComponentModel.AsyncOperationManager.SynchronizationContext returns + // an inconsistent result. + // + // So here we works around, where We find the open form and +send to it. + if System.Windows.Forms.Application.OpenForms.Count > 0 then + +System.Windows.Forms.Application.OpenForms.Item(0).BeginInvoke(new +System.Windows.Forms.MethodInvoker(fun _ -> f())) |> ignore + | _ -> callerCtxt.Post((fun _ -> f()),null) + +---------------------------------- + +Sorry, but I don not have the knowledge for reproducing this bug with C# +(I will try to write a smallest test case soon) +Thanks and best regards _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
