mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-22 22:13:35 +02:00
Auto-recover from cases when active preset is invalid
This commit is contained in:
parent
d42ae2995b
commit
50838f24bf
@ -163,7 +163,7 @@ ModsPresetState::ModsPresetState()
|
|||||||
CResourceHandler::get("local")->createResource(settingsPath.getOriginalName() + ".json");
|
CResourceHandler::get("local")->createResource(settingsPath.getOriginalName() + ".json");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(modConfig["presets"].isNull())
|
if(modConfig["presets"].isNull() || modConfig["presets"].Struct().empty())
|
||||||
{
|
{
|
||||||
modConfig["activePreset"] = JsonNode("default");
|
modConfig["activePreset"] = JsonNode("default");
|
||||||
if(modConfig["activeMods"].isNull())
|
if(modConfig["activeMods"].isNull())
|
||||||
@ -171,6 +171,10 @@ ModsPresetState::ModsPresetState()
|
|||||||
else
|
else
|
||||||
importInitialPreset(); // 1.5 format import
|
importInitialPreset(); // 1.5 format import
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto allPresets = getAllPresets();
|
||||||
|
if (!vstd::contains(allPresets, modConfig["activePreset"].String()))
|
||||||
|
modConfig["activePreset"] = JsonNode(allPresets.front());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ModsPresetState::createInitialPreset()
|
void ModsPresetState::createInitialPreset()
|
||||||
|
Loading…
Reference in New Issue
Block a user