Fix #11181: attempting to read string as int triggers assertion

This commit is contained in:
Rubidium
2023-08-20 22:58:49 +02:00
committed by rubidium42
parent 8df4aa7979
commit 6635f809dd
3 changed files with 58 additions and 2 deletions

View File

@@ -196,8 +196,11 @@ bool HaveDParamChanged(const std::vector<StringParameterBackup> &backup)
{
bool changed = false;
for (size_t i = 0; !changed && i < backup.size(); i++) {
if (backup[i].string.has_value()) {
changed = backup[i].string.value() != (const char *)(size_t)_global_string_params.GetParam(i);
bool global_has_string = _global_string_params.GetParamStr(i) != nullptr;
if (global_has_string != backup[i].string.has_value()) return true;
if (global_has_string) {
changed = backup[i].string.value() != _global_string_params.GetParamStr(i);
} else {
changed = backup[i].data != _global_string_params.GetParam(i);
}