diff options
author | michi_cc <michi_cc@openttd.org> | 2011-11-04 23:47:00 +0000 |
---|---|---|
committer | michi_cc <michi_cc@openttd.org> | 2011-11-04 23:47:00 +0000 |
commit | 6a2735d24ed54158b93eac217e803dcd89f67a9e (patch) | |
tree | 944963598eb052eeb378dae91d78f4dabca83848 /src | |
parent | 65d0d19b1616e5867afdf9d9f1c68972d2c3f2b0 (diff) | |
download | openttd-6a2735d24ed54158b93eac217e803dcd89f67a9e.tar.xz |
(svn r23119) -Fix: [Win32] Don't show a crash/assertion message box for a GUI-less video driver.
Diffstat (limited to 'src')
-rw-r--r-- | src/os/windows/crashlog_win.cpp | 3 | ||||
-rw-r--r-- | src/video/dedicated_v.cpp | 5 | ||||
-rw-r--r-- | src/video/null_v.cpp | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp index a02ca3c2d..2230203bf 100644 --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -25,6 +25,7 @@ #include "../../strings_func.h" #include "../../gamelog.h" #include "../../saveload/saveload.h" +#include "../../video/video_driver.hpp" #include <windows.h> #include <signal.h> @@ -526,7 +527,7 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) /* Close any possible log files */ CloseConsoleLogIfActive(); - if (_safe_esp != NULL) { + if ((_video_driver == NULL || _video_driver->HasGUI()) && _safe_esp != NULL) { #ifdef _M_AMD64 ep->ContextRecord->Rip = (DWORD64)ShowCrashlogWindow; ep->ContextRecord->Rsp = (DWORD64)_safe_esp; diff --git a/src/video/dedicated_v.cpp b/src/video/dedicated_v.cpp index d5f63d818..8a3be5bd6 100644 --- a/src/video/dedicated_v.cpp +++ b/src/video/dedicated_v.cpp @@ -163,6 +163,11 @@ const char *VideoDriver_Dedicated::Start(const char * const *parm) SetConsoleTitle(_T("OpenTTD Dedicated Server")); #endif +#ifdef _MSC_VER + /* Disable the MSVC assertion message box. */ + _set_error_mode(_OUT_TO_STDERR); +#endif + #ifdef __OS2__ /* For OS/2 we also need to switch to console mode instead of PM mode */ OS2_SwitchToConsoleMode(); diff --git a/src/video/null_v.cpp b/src/video/null_v.cpp index 6b4aa1c66..6fdb87648 100644 --- a/src/video/null_v.cpp +++ b/src/video/null_v.cpp @@ -19,6 +19,11 @@ static FVideoDriver_Null iFVideoDriver_Null; const char *VideoDriver_Null::Start(const char * const *parm) { +#ifdef _MSC_VER + /* Disable the MSVC assertion message box. */ + _set_error_mode(_OUT_TO_STDERR); +#endif + this->ticks = GetDriverParamInt(parm, "ticks", 1000); _screen.width = _screen.pitch = _cur_resolution.width; _screen.height = _cur_resolution.height; |