diff options
Diffstat (limited to 'Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp b/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp index c804e303f2..9cd7ced6f9 100644 --- a/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp +++ b/Source/Core/InputCommon/ControllerEmu/ControllerEmu.cpp @@ -18,6 +18,8 @@ namespace ControllerEmu { +// This should theoretically be per EmulatedController instance, +// though no EmulatedController usually run in parallel, so it makes little difference static std::recursive_mutex s_get_state_mutex; std::string EmulatedController::GetDisplayName() const @@ -77,6 +79,7 @@ void EmulatedController::UpdateSingleControlReference(const ControllerInterface& { ciface::ExpressionParser::ControlEnvironment env(devi, GetDefaultDevice(), m_expression_vars); + const auto lock = GetStateLock(); ref->UpdateReference(env); env.CleanUnusedVariables(); |
