@@ -263,6 +263,7 @@ void EmulatedController::clear_controllers()
263263
264264float EmulatedController::get_axis_value (uint64 mapping) const
265265{
266+ std::shared_lock lock (m_mutex);
266267 const auto it = m_mappings.find (mapping);
267268 if (it != m_mappings.cend ())
268269 {
@@ -276,6 +277,7 @@ float EmulatedController::get_axis_value(uint64 mapping) const
276277
277278bool EmulatedController::is_mapping_down (uint64 mapping) const
278279{
280+ std::shared_lock lock (m_mutex);
279281 const auto it = m_mappings.find (mapping);
280282 if (it != m_mappings.cend ())
281283 {
@@ -288,6 +290,7 @@ bool EmulatedController::is_mapping_down(uint64 mapping) const
288290
289291std::string EmulatedController::get_mapping_name (uint64 mapping) const
290292{
293+ std::shared_lock lock (m_mutex);
291294 const auto it = m_mappings.find (mapping);
292295 if (it != m_mappings.cend ())
293296 {
@@ -301,6 +304,7 @@ std::string EmulatedController::get_mapping_name(uint64 mapping) const
301304
302305std::shared_ptr<ControllerBase> EmulatedController::get_mapping_controller (uint64 mapping) const
303306{
307+ std::shared_lock lock (m_mutex);
304308 const auto it = m_mappings.find (mapping);
305309 if (it != m_mappings.cend ())
306310 {
@@ -314,17 +318,20 @@ std::shared_ptr<ControllerBase> EmulatedController::get_mapping_controller(uint6
314318
315319void EmulatedController::delete_mapping (uint64 mapping)
316320{
321+ std::scoped_lock lock (m_mutex);
317322 m_mappings.erase (mapping);
318323}
319324
320325void EmulatedController::clear_mappings ()
321326{
327+ std::scoped_lock lock (m_mutex);
322328 m_mappings.clear ();
323329}
324330
325331void EmulatedController::set_mapping (uint64 mapping, const std::shared_ptr<ControllerBase>& controller,
326332 uint64 button)
327333{
334+ std::scoped_lock lock (m_mutex);
328335 m_mappings[mapping] = { controller, button };
329336}
330337
0 commit comments