From 10183fb27014792062c0dfb10ffb9cc7b96064be Mon Sep 17 00:00:00 2001 From: Darth Affe Date: Sun, 9 Apr 2023 16:36:27 +0200 Subject: [PATCH] Added dispose-check to corsairs update queue --- RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs b/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs index fa743e8..8bea2eb 100644 --- a/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs +++ b/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs @@ -13,6 +13,8 @@ public class CorsairDeviceUpdateQueue : UpdateQueue { #region Properties & Fields + private bool _isDisposed = false; + private readonly _CorsairDeviceInfo _device; private readonly nint _colorPtr; @@ -42,6 +44,7 @@ public class CorsairDeviceUpdateQueue : UpdateQueue { try { + if (_isDisposed) throw new ObjectDisposedException(nameof(CorsairDeviceUpdateQueue)); if (!_CUESDK.IsConnected) return false; Span<_CorsairLedColor> colors = new((void*)_colorPtr, dataSet.Length); @@ -71,6 +74,7 @@ public class CorsairDeviceUpdateQueue : UpdateQueue { base.Dispose(); + _isDisposed = true; Marshal.FreeHGlobal(_colorPtr); GC.SuppressFinalize(this);