diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2024-01-26 06:46:00 +0100 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2024-01-26 06:46:46 +0100 |
commit | f2012e5aff21e1ba0d06bfab868191d221e8f7ed (patch) | |
tree | 0c170b92b72a5be216c2b0e3aafd451feb2bb7f4 /src/hid_core | |
parent | Merge pull request #12759 from liamwhite/mp-misc (diff) | |
download | yuzu-f2012e5aff21e1ba0d06bfab868191d221e8f7ed.tar yuzu-f2012e5aff21e1ba0d06bfab868191d221e8f7ed.tar.gz yuzu-f2012e5aff21e1ba0d06bfab868191d221e8f7ed.tar.bz2 yuzu-f2012e5aff21e1ba0d06bfab868191d221e8f7ed.tar.lz yuzu-f2012e5aff21e1ba0d06bfab868191d221e8f7ed.tar.xz yuzu-f2012e5aff21e1ba0d06bfab868191d221e8f7ed.tar.zst yuzu-f2012e5aff21e1ba0d06bfab868191d221e8f7ed.zip |
Diffstat (limited to 'src/hid_core')
-rw-r--r-- | src/hid_core/resource_manager.cpp | 4 | ||||
-rw-r--r-- | src/hid_core/resources/vibration/vibration_base.cpp | 4 | ||||
-rw-r--r-- | src/hid_core/resources/vibration/vibration_base.h | 1 |
3 files changed, 9 insertions, 0 deletions
diff --git a/src/hid_core/resource_manager.cpp b/src/hid_core/resource_manager.cpp index ca824b4a3..8ef0df020 100644 --- a/src/hid_core/resource_manager.cpp +++ b/src/hid_core/resource_manager.cpp @@ -373,6 +373,10 @@ Result ResourceManager::SendVibrationValue(u64 aruid, device = GetNSVibrationDevice(handle); } if (device != nullptr) { + // Prevent sending vibrations to an inactive vibration handle + if (!device->IsActive()) { + return ResultSuccess; + } result = device->SendVibrationValue(value); } return result; diff --git a/src/hid_core/resources/vibration/vibration_base.cpp b/src/hid_core/resources/vibration/vibration_base.cpp index f28d30406..90bff88f4 100644 --- a/src/hid_core/resources/vibration/vibration_base.cpp +++ b/src/hid_core/resources/vibration/vibration_base.cpp @@ -23,6 +23,10 @@ Result NpadVibrationBase::Deactivate() { return ResultSuccess; } +bool NpadVibrationBase::IsActive() const { + return ref_counter > 0; +} + bool NpadVibrationBase::IsVibrationMounted() const { return is_mounted; } diff --git a/src/hid_core/resources/vibration/vibration_base.h b/src/hid_core/resources/vibration/vibration_base.h index 69c26e669..8fe35634d 100644 --- a/src/hid_core/resources/vibration/vibration_base.h +++ b/src/hid_core/resources/vibration/vibration_base.h @@ -21,6 +21,7 @@ public: virtual Result Activate(); virtual Result Deactivate(); + bool IsActive() const; bool IsVibrationMounted() const; protected: |