From 31f1c062264fcf8628e3a13c44de893d4bac0aa0 Mon Sep 17 00:00:00 2001 From: Michael M Date: Wed, 7 Jun 2017 19:02:16 -0700 Subject: ControlReference: don't reparse expression when references are updated --- .../InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'Source/Core/InputCommon/ControllerEmu/ControlGroup/ControlGroup.cpp') 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 -- cgit v1.2.3