diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index b414ad14b..3bc2f515a 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -1826,6 +1826,12 @@ void Application::runApplication(void) Base::Console().Message("System exit\n"); throw; } + catch (const std::exception& e) { + // catching nasty stuff coming out of the event loop + App::Application::destructObserver(); + Base::Console().Error("Event loop left through unhandled exception: %s\n", e.what()); + throw; + } catch (...) { // catching nasty stuff coming out of the event loop App::Application::destructObserver();