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=82244 --- shadow/82244 2007-08-17 11:25:52.000000000 -0400 +++ shadow/82244.tmp.15536 2007-09-12 04:31:32.000000000 -0400 @@ -53,6 +53,36 @@ ------- Additional Comments From [EMAIL PROTECTED] 2007-08-17 11:23 ------- This is also what hangs the buildbots for Windows in our office. I never knew what it was, but they do happen. We should fix this. + +------- Additional Comments From [EMAIL PROTECTED] 2007-09-12 04:31 ------- +AFAICS g_log_set_default_handler cannot be used to fix this: the +MessageBox call is inside g_logv, which cannot be replaced. +(g_logv, then, calls the user supplied logging function[s]). + +Windows does not offer a facility like LD_FPRELOAD. +See "http://fy.chalmers.se/~appro/nt/DLL_PRELOAD" for a couple of +ways to implement it, but both are definitely too intrusive for our +needs IMHO. + +In a more simple way, it might be possible to just iterate the +Import Address Tables from within the process, and redirect the +call to MessageBox, borrowing ideas from here: +"http://www.codeproject.com/dll/apihijack.asp". + +However, this would have the "side effect" of preventing completely +the use of MessageBox. +For instance, imagine a Windows GUI application embedding the Mono +runtime... clearly this redirection should be disabled in that +case. + +Having glib fix the issue would be better, they should provide a +settable property stating if the app should be debugged or not. +Or we could just switch to eglib... + +That said, walking the Import Address Tables can be attempted, it +could work at least in the majority of cases (apps which do not +need MessageBox). + _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
