Opened 3 years ago

Closed 2 years ago

#13038 closed defect (fixed)

GUI: Enabling autosave crashes if any games don't have "engineid"

Reported by: sluicebox Owned by: sluicebox
Priority: normal Component: GUI
Version: Keywords:
Cc: Game:

Description

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

Change History (1)

comment:1 by sluicebox, 2 years ago

Owner: set to sluicebox
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.