diff options
author | rubidium <rubidium@openttd.org> | 2010-01-16 19:08:33 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-01-16 19:08:33 +0000 |
commit | 251ffaa000b66821ba3133db154336ab847f57b9 (patch) | |
tree | 7ee50b7519244f92e5e07c207f9266c4f9407bbe /src/os/windows | |
parent | 7e7ec4f25043e7218b6b40f5be42c71a3abc3a12 (diff) | |
download | openttd-251ffaa000b66821ba3133db154336ab847f57b9.tar.xz |
(svn r18831) -Change [FS#3537]: do not go into the crashlog handler in case loading a savegame misses with missing NewGRFs. This way the load game crash handler gets better visibility and the user is instructed to find the missing NewGRFs before filing a bug report
Diffstat (limited to 'src/os/windows')
-rw-r--r-- | src/os/windows/crashlog_win.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp index 0d5b60040..30a4cf7db 100644 --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -18,6 +18,7 @@ #include "../../fileio_func.h" #include "../../strings_func.h" #include "../../gamelog.h" +#include "../../saveload/saveload.h" #include <windows.h> #include <signal.h> @@ -378,6 +379,15 @@ static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) ExitProcess(3); } + if (SaveloadCrashWithMissingNewGRFs()) { + static const TCHAR _saveload_crash[] = + _T("A serious fault condition occured in the game. The game will shut down.\n") + _T("As you loaded an savegame for which you do not have the required NewGRFs\n") + _T("no crash information will be generated.\n"); + MessageBox(NULL, _saveload_crash, _T("Fatal Application Failure"), MB_ICONERROR); + ExitProcess(3); + } + CrashLogWindows *log = new CrashLogWindows(ep); CrashLogWindows::current = log; log->FillCrashLog(log->crashlog, lastof(log->crashlog)); |