summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
diff options
context:
space:
mode:
authorMichael M <mchtly@gmail.com>2017-06-07 19:02:16 -0700
committerMichael M <mchtly@gmail.com>2017-09-14 12:53:35 -0700
commit31f1c062264fcf8628e3a13c44de893d4bac0aa0 (patch)
treea15bf2168587e11e257803b69e02f57015f5e4fa /Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
parentc332580b83ea8cd5650d53378843ceadcbfeb9cb (diff)
ControlReference: don't reparse expression when references are updated
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
index fd905ccf1e..24d4a4c36e 100644
--- a/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
+++ b/Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp
@@ -54,8 +54,12 @@ void ControlGroup::LoadConfig(IniFile::Section* sec, const std::string& defdev,
for (auto& c : controls)
{
- // control expression
- sec->Get(group + c->name, &c->control_ref->expression, "");
+ {
+ // control expression
+ std::string expression;
+ sec->Get(group + c->name, &expression, "");
+ c->control_ref->SetExpression(std::move(expression));
+ }
// range
sec->Get(group + c->name + "/Range", &c->control_ref->range, 100.0);
@@ -109,7 +113,7 @@ void ControlGroup::SaveConfig(IniFile::Section* sec, const std::string& defdev,
for (auto& c : controls)
{
// control expression
- sec->Set(group + c->name, c->control_ref->expression, "");
+ sec->Set(group + c->name, c->control_ref->GetExpression(), "");
// range
sec->Set(group + c->name + "/Range", c->control_ref->range * 100.0, 100.0);
@@ -128,6 +132,6 @@ void ControlGroup::SaveConfig(IniFile::Section* sec, const std::string& defdev,
void ControlGroup::SetControlExpression(int index, const std::string& expression)
{
- controls.at(index)->control_ref->expression = expression;
+ controls.at(index)->control_ref->SetExpression(expression);
}
} // namespace ControllerEmu