From f2491038a3b2acbf05a831985521ac5440d5b2d9 Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Sun, 20 Oct 2024 11:06:40 +0200 Subject: [PATCH] Fixed crash in logitech device provider, when multiple lightspeed devices with the same usage are connected --- RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs b/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs index de49881..4d0aeac 100644 --- a/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs +++ b/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs @@ -104,7 +104,9 @@ public sealed class LightspeedHIDLoader : IEnumerable deviceUsages = DeviceList.Local .GetHidDevices(VendorId, pid) .Where(d => d.DevicePath.Contains("mi_02")) - .ToDictionary(x => (byte)x.GetUsage(), x => x); + .Select(x => ((byte)x.GetUsage(), x)) + .DistinctBy(x => x.Item1) + .ToDictionary(x => x.Item1, x => x.x); foreach ((int wirelessPid, byte _) in GetWirelessDevices(deviceUsages)) yield return wirelessPid;