diff options
Diffstat (limited to 'platform/windows/godot_win.cpp')
-rw-r--r-- | platform/windows/godot_win.cpp | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/platform/windows/godot_win.cpp b/platform/windows/godot_win.cpp index d2ac6ecb50..4450cb3670 100644 --- a/platform/windows/godot_win.cpp +++ b/platform/windows/godot_win.cpp @@ -157,24 +157,32 @@ int widechar_main(int argc, wchar_t **argv) { }; int main(int _argc, char **_argv) { - // _argc and _argv are ignored - // we are going to use the WideChar version of them instead +// _argc and _argv are ignored +// we are going to use the WideChar version of them instead - LPWSTR *wc_argv; - int argc; - int result; +#ifdef CRASH_HANDLER_EXCEPTION + __try { +#endif + LPWSTR *wc_argv; + int argc; + int result; - wc_argv = CommandLineToArgvW(GetCommandLineW(), &argc); + wc_argv = CommandLineToArgvW(GetCommandLineW(), &argc); - if (NULL == wc_argv) { - wprintf(L"CommandLineToArgvW failed\n"); - return 0; - } + if (NULL == wc_argv) { + wprintf(L"CommandLineToArgvW failed\n"); + return 0; + } - result = widechar_main(argc, wc_argv); + result = widechar_main(argc, wc_argv); - LocalFree(wc_argv); - return result; + LocalFree(wc_argv); + return result; +#ifdef CRASH_HANDLER_EXCEPTION + } __except (CrashHandlerException(GetExceptionInformation())) { + return 1; + } +#endif } HINSTANCE godot_hinstance = NULL; |