GUI: Enabling autosave crashes if any games don't have "engineid"
|Reported by:||sluicebox||Owned by:||sluicebox|
Enabling autosave in the GUI by changing it from Never to something else and saving crashes if there are any games in scummvm.ini that haven't been upgraded to have "engineid" yet.
GlobalOptionsDialog::updateAutosavePeriod() assumes that "engineid" is present in every game domain. "engineid" was added in late 2019 and games are automatically upgraded in EngineManager::upgradeTargetForEngineId() when run. They're not mass-upgraded. Anyone with any game in scummvm.ini that they haven't run since then (oooh, like me!) crashes.
For reference, here's what one of those oldies looks like:
[longbow-ega] extra=EGA native_fb01=false gui_saveload_last_pos=0 platform=pc originalsaveload=false prefer_digitalsfx=true guioptions=sndNoSpeech gameOption1 gameOption2 gameOption3 lang_English description=Conquests of the Longbow: The Adventures of Robin Hood (EGA/DOS/English) path=C:\Sierra\Longbow EGA\ gameid=sci language=en
Occurs in latest build, 2.5.0 release