Fix: Don't crash when saving a crashlog save with no main window open.

wip-string
Peter Nelson 6 months ago committed by Peter Nelson
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…
Cancel
Save