mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 22:25:38 +00:00
Fixed an issue where attempting to create the system directories with invalid entries in es_systems.xml could crash the application
This commit is contained in:
parent
cfb71c378f
commit
80a462abb3
|
@ -1122,6 +1122,18 @@ bool SystemData::createSystemDirectories()
|
||||||
return (std::isspace(character) || character == ',');
|
return (std::isspace(character) || character == ',');
|
||||||
}) != platform.cend()};
|
}) != platform.cend()};
|
||||||
|
|
||||||
|
if (name.empty()) {
|
||||||
|
LOG(LogError)
|
||||||
|
<< "A system in the es_systems.xml file has no name defined, skipping entry";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if (fullname.empty() || path.empty() || extensions.empty() || commands.empty()) {
|
||||||
|
LOG(LogError) << "System \"" << name
|
||||||
|
<< "\" is missing the fullname, path, "
|
||||||
|
"extension, or command tag, skipping entry";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
themeFolder = system.child("theme").text().as_string(name.c_str());
|
themeFolder = system.child("theme").text().as_string(name.c_str());
|
||||||
|
|
||||||
// Check that the %ROMPATH% variable is actually used for the path element.
|
// Check that the %ROMPATH% variable is actually used for the path element.
|
||||||
|
@ -1203,6 +1215,9 @@ bool SystemData::createSystemDirectories()
|
||||||
}
|
}
|
||||||
systemInfoFile << "Platform" << (multiplePlatforms ? "s" : "")
|
systemInfoFile << "Platform" << (multiplePlatforms ? "s" : "")
|
||||||
<< " (for scraping):" << std::endl;
|
<< " (for scraping):" << std::endl;
|
||||||
|
if (platform.empty())
|
||||||
|
systemInfoFile << "None defined" << std::endl << std::endl;
|
||||||
|
else
|
||||||
systemInfoFile << platform << std::endl << std::endl;
|
systemInfoFile << platform << std::endl << std::endl;
|
||||||
systemInfoFile << "Theme folder:" << std::endl;
|
systemInfoFile << "Theme folder:" << std::endl;
|
||||||
systemInfoFile << themeFolder << std::endl;
|
systemInfoFile << themeFolder << std::endl;
|
||||||
|
|
Loading…
Reference in a new issue