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:
		| @@ -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; | ||||||
|   | |||||||
| @@ -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; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -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: | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user