From eedeadabdaa40b9177fdb6ef0e2695933c3b28c3 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Fri, 2 Jul 2021 22:23:35 +0200 Subject: [PATCH] Added workaround for corsair custom devices with wrongly reported channel counts --- RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs | 2 +- RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs index 03dcdcd..f2d80ce 100644 --- a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs +++ b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs @@ -156,7 +156,7 @@ namespace RGB.NET.Devices.Corsair int channelDeviceInfoStructSize = Marshal.SizeOf(typeof(_CorsairChannelDeviceInfo)); IntPtr channelDeviceInfoPtr = channelInfo.devices; - for (int device = 0; device < channelInfo.devicesCount; device++) + for (int device = 0; (device < channelInfo.devicesCount) && (ledOffset < nativeDeviceInfo.ledsCount); device++) { _CorsairChannelDeviceInfo channelDeviceInfo = (_CorsairChannelDeviceInfo)Marshal.PtrToStructure(channelDeviceInfoPtr, typeof(_CorsairChannelDeviceInfo))!; diff --git a/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs index d6e222d..259c409 100644 --- a/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs +++ b/RGB.NET.Devices.Corsair/Custom/CorsairCustomRGBDeviceInfo.cs @@ -81,7 +81,7 @@ namespace RGB.NET.Devices.Corsair switch (channelDeviceInfo.type) { case CorsairChannelDeviceType.Invalid: - return "Invalid"; + return model; case CorsairChannelDeviceType.FanHD: return "HD Fan";