mirror of https://github.com/OpenTTD/OpenTTD.git
Fix: Don't crash when saving a crashlog save with no main window open.
This commit is contained in:
parent
da2d21f5b0
commit
47dd04d16c
|
@ -37,11 +37,18 @@ ZoomLevel _saved_scrollpos_zoom;
|
|||
|
||||
void SaveViewportBeforeSaveGame()
|
||||
{
|
||||
const Window *w = GetMainWindow();
|
||||
|
||||
_saved_scrollpos_x = w->viewport->scrollpos_x;
|
||||
_saved_scrollpos_y = w->viewport->scrollpos_y;
|
||||
_saved_scrollpos_zoom = w->viewport->zoom;
|
||||
/* Don't use GetMainWindow() in case the window does not exist. */
|
||||
const Window *w = FindWindowById(WC_MAIN_WINDOW, 0);
|
||||
if (w == nullptr || w->viewport == nullptr) {
|
||||
/* Ensure saved position is clearly invalid. */
|
||||
_saved_scrollpos_x = INT_MAX;
|
||||
_saved_scrollpos_y = INT_MAX;
|
||||
_saved_scrollpos_zoom = ZOOM_LVL_END;
|
||||
} else {
|
||||
_saved_scrollpos_x = w->viewport->scrollpos_x;
|
||||
_saved_scrollpos_y = w->viewport->scrollpos_y;
|
||||
_saved_scrollpos_zoom = w->viewport->zoom;
|
||||
}
|
||||
}
|
||||
|
||||
void ResetViewportAfterLoadGame()
|
||||
|
|
Loading…
Reference in New Issue