X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/226c11c0767b3dfded410b8c8be8cf0d9444d136..a83b5b74c365705144f9359d4527e4b2d073f569:/src/msw/main.cpp diff --git a/src/msw/main.cpp b/src/msw/main.cpp index 512287bf44..e393c80815 100644 --- a/src/msw/main.cpp +++ b/src/msw/main.cpp @@ -61,13 +61,16 @@ #define HINSTANCE HANDLE #endif +// defined in common/init.cpp +extern int wxEntryReal(int& argc, wxChar **argv); + // ============================================================================ // implementation: various entry points // ============================================================================ #if wxUSE_BASE -#ifdef __VISUALC__ +#if wxUSE_ON_FATAL_EXCEPTION && defined(__VISUALC__) && !defined(__WXWINCE__) // VC++ (at least from 4.0 up to version 7.1) is incredibly broken in that // a "catch ( ... )" will *always* catch SEH exceptions in it even though // it should have never been the case... to prevent such catches from @@ -97,9 +100,6 @@ // OnFatalException() if necessary #if wxUSE_ON_FATAL_EXCEPTION -// defined in common/init.cpp -extern int wxEntryReal(int& argc, wxChar **argv); - // global pointer to exception information, only valid inside OnFatalException, // used by wxStackWalker and wxCrashReport extern EXCEPTION_POINTERS *wxGlobalSEInformation = NULL; @@ -226,6 +226,8 @@ int wxEntry(int& argc, wxChar **argv) #else // !wxUSE_ON_FATAL_EXCEPTION +#if defined(__VISUALC__) && !defined(__WXWINCE__) + static void wxSETranslator(unsigned int WXUNUSED(code), EXCEPTION_POINTERS * WXUNUSED(ep)) { @@ -233,6 +235,8 @@ wxSETranslator(unsigned int WXUNUSED(code), EXCEPTION_POINTERS * WXUNUSED(ep)) throw; } +#endif // __VISUALC__ + int wxEntry(int& argc, wxChar **argv) { DisableAutomaticSETranslator(); @@ -311,7 +315,7 @@ extern "C" // DLL entry point BOOL WINAPI -DllMain(HANDLE hModule, DWORD fdwReason, LPVOID WXUNUSED(lpReserved)) +DllMain(HINSTANCE hModule, DWORD fdwReason, LPVOID WXUNUSED(lpReserved)) { // Only call wxEntry if the application itself is part of the DLL. // If only the wxWidgets library is in the DLL, then the