(svn r17475) -Codechange: show path to crash.log and crash.dmp in crash window. Also tells the user where crash.sav is when saving succeeded.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
glx 15 years ago
parent cf5f70a1c1
commit 458e7876d3

@ -429,10 +429,11 @@ static const TCHAR _crash_desc[] =
_T("Please send the crash information and the crash.dmp file (if any) to the developers.\n")
_T("This will greatly help debugging. The correct place to do this is http://bugs.openttd.org. ")
_T("The information contained in the report is displayed below.\n")
_T("Press \"Emergency save\" to attempt saving the game.");
_T("Press \"Emergency save\" to attempt saving the game. Generated file(s):\n")
_T("'%s%s%s'");
static const TCHAR _save_succeeded[] =
_T("Emergency save succeeded.\n")
_T("Emergency save succeeded. Its location is '%s'.\n")
_T("Be aware that critical parts of the internal game state may have become ")
_T("corrupted. The saved game is not guaranteed to work.");
@ -479,7 +480,14 @@ static INT_PTR CALLBACK CrashDialogFunc(HWND wnd, UINT msg, WPARAM wParam, LPARA
}
*p = '\0';
SetDlgItemText(wnd, 10, _crash_desc);
/* Add path to crash.log and crash.dmp (if any) to the crash window text */
int len = _tcslen(_crash_desc) + _tcslen(OTTD2FS(CrashLogWindows::current->crashlog_filename)) + _tcslen(OTTD2FS(CrashLogWindows::current->crashdump_filename)) + 4;
TCHAR *text = AllocaM(TCHAR, len);
TCHAR *dump = _tcsdup(OTTD2FS(CrashLogWindows::current->crashdump_filename));
_sntprintf(text, len, _crash_desc, OTTD2FS(CrashLogWindows::current->crashlog_filename), dump[0] != _T('\0') ? _T("'\n'") : _T(""), dump);
free(dump);
SetDlgItemText(wnd, 10, text);
SetDlgItemText(wnd, 11, MB_TO_WIDE_BUFFER(dos_nl, crash_msgW, lengthof(crash_msgW)));
SendDlgItemMessage(wnd, 11, WM_SETFONT, (WPARAM)GetStockObject(ANSI_FIXED_FONT), FALSE);
SetWndSize(wnd, -1);
@ -492,7 +500,10 @@ static INT_PTR CALLBACK CrashDialogFunc(HWND wnd, UINT msg, WPARAM wParam, LPARA
case 13: // Emergency save
char filename[MAX_PATH];
if (CrashLogWindows::current->WriteSavegame(filename, lastof(filename))) {
MessageBox(wnd, _save_succeeded, _T("Save successful"), MB_ICONINFORMATION);
int len = _tcslen(_save_succeeded) + _tcslen(OTTD2FS(filename)) + 1;
TCHAR *text = AllocaM(TCHAR, len);
_sntprintf(text, len, _save_succeeded, OTTD2FS(filename));
MessageBox(wnd, text, _T("Save successful"), MB_ICONINFORMATION);
} else {
MessageBox(wnd, _T("Save failed"), _T("Save failed"), MB_ICONINFORMATION);
}

@ -46,17 +46,17 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_DEFAULT
// Dialog
//
100 DIALOG DISCARDABLE 0, 0, 305, 77
100 DIALOG DISCARDABLE 0, 0, 305, 91
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Fatal Application Failure"
FONT 8, "MS Sans Serif"
BEGIN
PUSHBUTTON "&Close",12,7,58,50,14
PUSHBUTTON "&Emergency save",13,155,58,68,14
PUSHBUTTON "",15,243,58,55,14
EDITTEXT 11,7,79,291,118,ES_MULTILINE | ES_READONLY | WS_VSCROLL |
PUSHBUTTON "&Close",12,7,72,50,14
PUSHBUTTON "&Emergency save",13,155,72,68,14
PUSHBUTTON "",15,243,72,55,14
EDITTEXT 11,7,93,291,118,ES_MULTILINE | ES_READONLY | WS_VSCROLL |
WS_HSCROLL | NOT WS_TABSTOP
LTEXT "",10,36,7,262,43
LTEXT "",10,36,7,262,57
ICON 100,IDC_STATIC,9,9,20,20
END

Loading…
Cancel
Save