From c1aa5e9308a0ebd2de0e3f8ed95ec47562e9eef8 Mon Sep 17 00:00:00 2001 From: luiscuenca Date: Mon, 1 Oct 2018 12:54:47 -0700 Subject: [PATCH] Add mutex to setter --- .../controllers/src/controllers/ScriptingInterface.cpp | 8 +++++++- .../controllers/src/controllers/ScriptingInterface.h | 8 +++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/libraries/controllers/src/controllers/ScriptingInterface.cpp b/libraries/controllers/src/controllers/ScriptingInterface.cpp index 9cf83725cc..72e5cf5007 100644 --- a/libraries/controllers/src/controllers/ScriptingInterface.cpp +++ b/libraries/controllers/src/controllers/ScriptingInterface.cpp @@ -179,10 +179,16 @@ namespace controller { } QStringList ScriptingInterface::getRunningInputDeviceNames() { - QMutexLocker locker(&_mutex); + QMutexLocker locker(&_getRunningDevicesMutex); return _runningInputDeviceNames; } + void ScriptingInterface::updateRunningInputDevices(const QString& deviceName, bool isRunning, const QStringList& runningDevices) { + QMutexLocker locker(&_setRunningDevicesMutex); + _runningInputDeviceNames = runningDevices; + emit inputDeviceRunningChanged(deviceName, isRunning); + } + bool ScriptingInterface::triggerHapticPulseOnDevice(unsigned int device, float strength, float duration, controller::Hand hand) const { return DependencyManager::get()->triggerHapticPulseOnDevice(device, strength, duration, hand); } diff --git a/libraries/controllers/src/controllers/ScriptingInterface.h b/libraries/controllers/src/controllers/ScriptingInterface.h index ae15e47fcc..0d61fe6636 100644 --- a/libraries/controllers/src/controllers/ScriptingInterface.h +++ b/libraries/controllers/src/controllers/ScriptingInterface.h @@ -539,10 +539,7 @@ namespace controller { */ virtual void releaseActionEvents() { _actionsCaptured = false; } - void updateRunningInputDevices(const QString& deviceName, bool isRunning, const QStringList& runningDevices) { - _runningInputDeviceNames = runningDevices; - emit inputDeviceRunningChanged(deviceName, isRunning); - } + void updateRunningInputDevices(const QString& deviceName, bool isRunning, const QStringList& runningDevices); signals: /**jsdoc @@ -629,7 +626,8 @@ namespace controller { std::atomic _wheelCaptured { false }; std::atomic _actionsCaptured { false }; - QMutex _mutex; + QMutex _setRunningDevicesMutex; + QMutex _getRunningDevicesMutex; }; }