diff --git a/NuGet/RGB.NET.Devices.Corsair.nuspec b/NuGet/RGB.NET.Devices.Corsair.nuspec index 8460a9c..2bf73b4 100644 --- a/NuGet/RGB.NET.Devices.Corsair.nuspec +++ b/NuGet/RGB.NET.Devices.Corsair.nuspec @@ -13,12 +13,17 @@ Corsair-Device-Implementations of RGB.NET, a C# (.NET) library for accessing various RGB-peripherals Copyright © Wyrez 2017 - en-US + en-US + + + + + \ No newline at end of file diff --git a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs index 48213e0..7f03c45 100644 --- a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs +++ b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs @@ -51,7 +51,19 @@ namespace RGB.NET.Devices.Corsair /// Thrown if the CUE-SDK provides an error. public bool Initialize(bool exclusiveAccessIfPossible = false, bool throwExceptions = false) { - _CUESDK.Reload(); + IsInitialized = false; + + try + { + _CUESDK.Reload(); + } + catch + { + if (throwExceptions) + throw; + else + return false; + } ProtocolDetails = new CorsairProtocolDetails(_CUESDK.CorsairPerformProtocolHandshake()); @@ -160,7 +172,14 @@ namespace RGB.NET.Devices.Corsair public void ResetDevices() { if (IsInitialized) - _CUESDK.Reload(); + try + { + _CUESDK.Reload(); + } + catch + { + // shit happens ... + } } private void Reset() diff --git a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs index 883486e..42bd313 100644 --- a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs +++ b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs @@ -41,9 +41,7 @@ namespace RGB.NET.Devices.Corsair protected override void InitializeLeds() { _CorsairLedPositions nativeLedPositions = - (_CorsairLedPositions) - Marshal.PtrToStructure(_CUESDK.CorsairGetLedPositionsByDeviceIndex(KeyboardDeviceInfo.CorsairDeviceIndex), - typeof(_CorsairLedPositions)); + (_CorsairLedPositions)Marshal.PtrToStructure(_CUESDK.CorsairGetLedPositions(), typeof(_CorsairLedPositions)); int structSize = Marshal.SizeOf(typeof(_CorsairLedPosition)); IntPtr ptr = nativeLedPositions.pLedPosition; diff --git a/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj b/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj index af89164..034f7b0 100644 --- a/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj +++ b/RGB.NET.Devices.Corsair/RGB.NET.Devices.Corsair.csproj @@ -77,8 +77,12 @@ + + + + + - + + + + + + + + + + False + + + False + + + + + + + + %(RecursiveDir)%(FileName)%(Extension) + Always + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bin\%(RecursiveDir)%(Filename)%(Extension) + + + + + + + + + + + + + + + + + + + + + + + $(PostBuildEventDependsOn); + CopyCueSDKFiles; + + + $(BuildDependsOn); + CopyCueSDKFiles; + + + $(CleanDependsOn); + CleanCueSDKFiles; + + + + + + + + CollectCueSDKFiles; + $(PipelineCollectFilesPhaseDependsOn); + + +