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; }; }