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);
+
+
+