summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/Setting
diff options
context:
space:
mode:
authorMat M <mathew1800@gmail.com>2021-05-13 06:47:38 -0400
committerGitHub <noreply@github.com>2021-05-13 06:47:38 -0400
commit7a72a5b997f87bcb7f55c9fbd358328fec68e536 (patch)
tree92032c7cdc1a60fd3c3d6390ebd87f477ee37183 /Source/Core/InputCommon/ControllerEmu/Setting
parentd034c830acfab16f93aefcfe65e3719f3f87cb4a (diff)
parent574477866fe3e82a87214848d3d4b505535f2d3b (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.h9
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(); }