Corrected Logical errors in ResourceManager.cpp

* Removed comparison of -1 to unsigned int
* Corrected comparison of current_device to HID_INTERFACE_ANY
* Exposed downstream errors in Windows implementation of CM_MP750
controller corrected
* Added "Off" mode
This commit is contained in:
Chris 2021-01-01 22:32:04 +11:00 committed by Adam Honse
parent 14834e1e28
commit 215baa487a
5 changed files with 57 additions and 56 deletions

View file

@ -578,13 +578,11 @@ void ResourceManager::DetectDevicesThreadFunction()
unsigned int addr = (current_hid_device->vendor_id << 16) | current_hid_device->product_id;
if(( hid_device_detectors[hid_detector_idx].address == addr )
&& ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY )
&& ( ( current_hid_device->interface_number == HID_INTERFACE_ANY )
|| ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) )
#ifdef USE_HID_USAGE
&& ( ( hid_device_detectors[hid_detector_idx].usage_page == HID_USAGE_PAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page ) )
&& ( ( hid_device_detectors[hid_detector_idx].usage == HID_USAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage ) )
&& ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page )
&& ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage )
#endif
)
{
@ -654,13 +652,11 @@ void ResourceManager::DetectDevicesThreadFunction()
for(unsigned int hid_detector_idx = 0; hid_detector_idx < hid_device_detectors.size() && detection_is_required.load(); hid_detector_idx++)
{
if(( hid_device_detectors[hid_detector_idx].address == addr )
&& ( ( hid_device_detectors[hid_detector_idx].interface == HID_INTERFACE_ANY )
&& ( ( current_hid_device->interface_number == HID_INTERFACE_ANY )
|| ( hid_device_detectors[hid_detector_idx].interface == current_hid_device->interface_number ) )
#ifdef USE_HID_USAGE
&& ( ( hid_device_detectors[hid_detector_idx].usage_page == HID_USAGE_PAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page ) )
&& ( ( hid_device_detectors[hid_detector_idx].usage == HID_USAGE_ANY )
|| ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage ) )
&& ( hid_device_detectors[hid_detector_idx].usage_page == current_hid_device->usage_page )
&& ( hid_device_detectors[hid_detector_idx].usage == current_hid_device->usage )
#endif
)
{