From: Milan B. <albis@EUnet.yu> - 2005-09-09 17:29:23
|
Nando Dessena wrote: > Done. It displays the what() message box (not the parachute() one) and > then shuts down. This is because the exception is catched by the first > catch block of FRApp::OnRun(): > > int FRApp::OnRun() > { > try > { > return wxApp::OnRun(); > } > catch (exception& e) > { > handleException(e); > } > catch (...) > { > OnFatalException(); > return 3; > } > } > > Did you expect that? Perhaps we should change the call to > handleException() above with a call to parachute()? That would work for first exception, but the second would go straight to parachute. Perhaps we should change the parachute() itself to call OnRun() instead of MainLoop(). > Did you try without FRApp::OnRun()? I have, and the results are not > satisfying. I didn't, but on Linux it never gets caught there. The reason is that a soon as it hits gtk code, the handler in OnRun becomes obsolete, and the only thing that could stop it is the parachute. Could you please try to return the while() loop in OnRun and see if that helps? IIRC that did the trick for Borland when I initially coded it. -- Milan Babuskov http://www.flamerobin.org |