X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f83aa7771cc31b8de34beb4dc32709799f6d2281..aeb500e64cfc83781e462b68feae19118b9cb105:/src/msw/crashrpt.cpp?ds=sidebyside diff --git a/src/msw/crashrpt.cpp b/src/msw/crashrpt.cpp index 10996846cd..eaccaeafce 100644 --- a/src/msw/crashrpt.cpp +++ b/src/msw/crashrpt.cpp @@ -1020,7 +1020,7 @@ bool wxCrashReportImpl::Generate(int flags) { if ( ResolveSymFunctions(dllDbgHelp) ) { - SymSetOptions(SYMOPT_DEFERRED_LOADS); + SymSetOptions(SYMOPT_DEFERRED_LOADS | SYMOPT_UNDNAME); // Initialize DbgHelp if ( SymInitialize(GetCurrentProcess(), NULL, TRUE /* invade */) ) @@ -1118,7 +1118,7 @@ bool wxHandleFatalExceptions(bool doit) ); wxStrncat(gs_reportFilename, fname, - WXSIZEOF(gs_reportFilename) - strlen(gs_reportFilename) - 1); + WXSIZEOF(gs_reportFilename) - wxStrlen(gs_reportFilename) - 1); } return true; @@ -1132,7 +1132,16 @@ extern unsigned long wxGlobalSEHandler(EXCEPTION_POINTERS *pExcPtrs) wxGlobalSEInformation = pExcPtrs; // give the user a chance to do something special about this - wxTheApp->OnFatalException(); + __try + { + wxTheApp->OnFatalException(); + } + __except ( EXCEPTION_EXECUTE_HANDLER ) + { + // nothing to do here, just ignore the exception inside the + // exception handler + ; + } wxGlobalSEInformation = NULL;