diff options
| author | Mat M <mathew1800@gmail.com> | 2021-05-13 06:47:38 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-13 06:47:38 -0400 |
| commit | 7a72a5b997f87bcb7f55c9fbd358328fec68e536 (patch) | |
| tree | 92032c7cdc1a60fd3c3d6390ebd87f477ee37183 /Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp | |
| parent | d034c830acfab16f93aefcfe65e3719f3f87cb4a (diff) | |
| parent | 574477866fe3e82a87214848d3d4b505535f2d3b (diff) | |
Merge pull request #9703 from Filoppi/fix_expression_serialization
Fix serialization of control expressions with line breaks
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp index 84c7238e48..2862445392 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp @@ -117,7 +117,10 @@ void ControlGroup::SaveConfig(IniFile::Section* sec, const std::string& defdev, for (auto& c : controls) { // control expression - sec->Set(group + c->name, c->control_ref->GetExpression(), ""); + std::string expression = c->control_ref->GetExpression(); + // We can't save line breaks in a single line config. Restoring them is too complicated. + ReplaceBreaksWithSpaces(expression); + sec->Set(group + c->name, expression, ""); // range sec->Set(group + c->name + "/Range", c->control_ref->range * 100.0, 100.0); @@ -135,7 +138,9 @@ void ControlGroup::SaveConfig(IniFile::Section* sec, const std::string& defdev, } else { - sec->Set(base + name, ext->GetSelectionSetting().GetInputReference().GetExpression(), "None"); + std::string expression = ext->GetSelectionSetting().GetInputReference().GetExpression(); + ReplaceBreaksWithSpaces(expression); + sec->Set(base + name, expression, "None"); } for (auto& ai : ext->GetAttachmentList()) |
