From f5bbd49e78d717dadb5f5920ef040b3961e9a364 Mon Sep 17 00:00:00 2001 From: Tam D Date: Sun, 7 Jan 2024 21:45:18 +0000 Subject: [PATCH] Fix coolermaster rescan crash --- .../CMKeyboardAbstractController.cpp | 26 +++++++++---------- .../RGBController_CMKeyboardController.cpp | 5 +--- 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/Controllers/CoolerMasterController/CMKeyboardAbstractController.cpp b/Controllers/CoolerMasterController/CMKeyboardAbstractController.cpp index 9a2401a6..ba3bbf9d 100644 --- a/Controllers/CoolerMasterController/CMKeyboardAbstractController.cpp +++ b/Controllers/CoolerMasterController/CMKeyboardAbstractController.cpp @@ -10,24 +10,22 @@ CMKeyboardAbstractController::CMKeyboardAbstractController(hid_device* dev_handle, hid_device_info* dev_info) { - const uint8_t sz = HID_MAX_STR; - wchar_t tmp[sz]; + wchar_t tmp[HID_MAX_STR]; - m_pDev = dev_handle; - m_productId = dev_info->product_id; - m_sLocation = dev_info->path; + m_pDev = dev_handle; + m_productId = dev_info->product_id; + m_sLocation = dev_info->path; - hid_get_manufacturer_string(m_pDev, tmp, sz); - std::wstring wName = std::wstring(tmp); - m_vendorName = std::string(wName.begin(), wName.end()); + hid_get_manufacturer_string(m_pDev, tmp, HID_MAX_STR); + std::wstring wVendorName = std::wstring(tmp); + m_vendorName = std::string(wVendorName.begin(), wVendorName.end()); - hid_get_product_string(m_pDev, tmp, sz); - wName = std::wstring(tmp); - m_deviceName = std::string(wName.begin(), wName.end()); + hid_get_product_string(m_pDev, tmp, HID_MAX_STR); + std::wstring wDeviceName = std::wstring(tmp); + m_deviceName = std::string(wDeviceName.begin(), wDeviceName.end()); + m_serialNumber = m_deviceName; - m_serialNumber = m_deviceName; - - bool bNotFound = true; + bool bNotFound = true; for(uint16_t i = 0; i < COOLERMASTER_KEYBOARD_DEVICE_COUNT; i++) { diff --git a/Controllers/CoolerMasterController/RGBController_CMKeyboardController.cpp b/Controllers/CoolerMasterController/RGBController_CMKeyboardController.cpp index 1f5c5968..ababf010 100644 --- a/Controllers/CoolerMasterController/RGBController_CMKeyboardController.cpp +++ b/Controllers/CoolerMasterController/RGBController_CMKeyboardController.cpp @@ -53,11 +53,8 @@ RGBController_CMKeyboardController::~RGBController_CMKeyboardController() delete(m_pUnknownKeyNames[i]); } } - - delete m_pLayoutManager; } -#include #define COOLERMASTER_ZONES_MAX 1 void RGBController_CMKeyboardController::SetupZones() { @@ -115,7 +112,7 @@ void RGBController_CMKeyboardController::SetupZones() LOG_DEBUG("[%s] Created KB matrix with %d rows and %d columns containing %d keys", m_pController->GetDeviceName().c_str(), new_kb.GetRowCount(), new_kb.GetColumnCount(), new_zone.leds_count); - for(size_t led_idx = 0; led_idx < new_zone.leds_count; led_idx++) + for(unsigned int led_idx = 0; led_idx < new_zone.leds_count; led_idx++) { led new_led;