[Gtk-sharp-list] Creating critical section for unhandled exception handler
Styne
jason.steenstrapickens at orionhealth.com
Mon May 24 16:18:21 EDT 2010
Christopher David Howie wrote:
>
> What member of what class are you attaching your event handler to?
>
I am adding it to ExceptionManager.UnhandledException like it says on
http://www.mono-project.com/GtkSharpNewInVersion2x
http://www.mono-project.com/GtkSharpNewInVersion2x
Christopher David Howie wrote:
>
> Run() blocks in that it does not return until the dialog is closed. But
> it must call the GLib main loop again, because this loop is responsible
> for dispatching GTK+ events. In other words, if it did not re-enter the
> main loop, the dialog would not be able to respond to events. So this
> is the possible execution path I see:
>
> * GLib main loop.
> ** Unhandled exception handler, calls Dialog.Run().
> *** Dialog.Run() sets up the dialog, calls main loop to process events.
> **** GLib main loop.
> ***** Unhandled exception handler.
> ****** ...
>
Ah ok that makes more sense. I take it that has something to do with why the
dialogs aren't drawn properly until I force a UI event to occur.
Christopher David Howie wrote:
>
> It sounds like you need a more sophisticated mechanism to handle the
> case where exceptions may be thrown while the dialog is shown. You
> might consider using a Queue<> to hold exceptions that have been thrown.
> Additionally, you should be very careful to catch every possible
> exception that might occur in your UnhandledException handler so as to
> prevent an infinite loop.
>
Yes I will have to rethink this a bit more and decide exactly what behavior
I want.
Well that pretty much answers my question now. Thanks!
--
View this message in context: http://mono.1490590.n4.nabble.com/Creating-critical-section-for-unhandled-exception-handler-tp2225522p2229128.html
Sent from the Mono - Gtk# mailing list archive at Nabble.com.
More information about the Gtk-sharp-list
mailing list