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/Setting | |
| 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/Setting')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h index 443f34d2ec..86bd2e39c3 100644 --- a/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h +++ b/Source/Core/InputCommon/ControllerEmu/Setting/NumericSetting.h @@ -113,9 +113,16 @@ public: void SaveToIni(IniFile::Section& section, const std::string& group_name) const override { if (IsSimpleValue()) + { section.Set(group_name + m_details.ini_name, GetValue(), m_default_value); + } else - section.Set(group_name + m_details.ini_name, m_value.m_input.GetExpression(), ""); + { + // We can't save line breaks in a single line config. Restoring them is too complicated. + std::string expression = m_value.m_input.GetExpression(); + ReplaceBreaksWithSpaces(expression); + section.Set(group_name + m_details.ini_name, expression, ""); + } } bool IsSimpleValue() const override { return m_value.IsSimpleValue(); } |
