1
0
Fork 0
forked from suyu/suyu

Merge pull request #12801 from german77/vibration-fix

service: hid: Don't try to vibrate if device isn't initialized
This commit is contained in:
liamwhite 2024-01-26 09:55:37 -05:00 committed by GitHub
commit 744c0173d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9 additions and 0 deletions

View file

@ -373,6 +373,10 @@ Result ResourceManager::SendVibrationValue(u64 aruid,
device = GetNSVibrationDevice(handle); device = GetNSVibrationDevice(handle);
} }
if (device != nullptr) { if (device != nullptr) {
// Prevent sending vibrations to an inactive vibration handle
if (!device->IsActive()) {
return ResultSuccess;
}
result = device->SendVibrationValue(value); result = device->SendVibrationValue(value);
} }
return result; return result;

View file

@ -23,6 +23,10 @@ Result NpadVibrationBase::Deactivate() {
return ResultSuccess; return ResultSuccess;
} }
bool NpadVibrationBase::IsActive() const {
return ref_counter > 0;
}
bool NpadVibrationBase::IsVibrationMounted() const { bool NpadVibrationBase::IsVibrationMounted() const {
return is_mounted; return is_mounted;
} }

View file

@ -21,6 +21,7 @@ public:
virtual Result Activate(); virtual Result Activate();
virtual Result Deactivate(); virtual Result Deactivate();
bool IsActive() const;
bool IsVibrationMounted() const; bool IsVibrationMounted() const;
protected: protected: