]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/crashrpt.cpp
Nth -> Item
[wxWidgets.git] / src / msw / crashrpt.cpp
index be47c4d4874401be1bfdb88ce43e263d0ef23868..9871cc0c4193018beba147976b89c7b43bca71fe 100644 (file)
@@ -226,9 +226,6 @@ private:
     void OutputGlobals(HANDLE hModuleCrash);
 
 
-    // the handle of the report file
-    HANDLE m_hFile;
-
     // the current stack frame (may be NULL)
     STACKFRAME *m_sfCurrent;
 
@@ -247,6 +244,9 @@ private:
     DECLARE_SYM_FUNCTION(SymEnumSymbols);
     DECLARE_SYM_FUNCTION(SymGetTypeInfo);
 #endif // wxUSE_DBGHELP
+
+    // the handle of the report file
+    HANDLE m_hFile;
 };
 
 // ----------------------------------------------------------------------------
@@ -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;