From 7dfe830dacb093d4a3d893ddc6b42b186b573ae2 Mon Sep 17 00:00:00 2001 From: IceStormNG Date: Sun, 23 Jul 2023 10:53:30 +0200 Subject: [PATCH] Better disconnect handling --- app/Peripherals/Mouse/AsusMouse.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/Peripherals/Mouse/AsusMouse.cs b/app/Peripherals/Mouse/AsusMouse.cs index a9dda3d3..e0ea879e 100644 --- a/app/Peripherals/Mouse/AsusMouse.cs +++ b/app/Peripherals/Mouse/AsusMouse.cs @@ -143,6 +143,12 @@ namespace GHelper.Peripherals.Mouse HidSharp.DeviceList.Local.Changed += Device_Changed; } + public override void Dispose() + { + HidSharp.DeviceList.Local.Changed -= Device_Changed; + base.Dispose(); + } + private void Device_Changed(object? sender, HidSharp.DeviceListChangedEventArgs e) { //Use this to validate whether the device is still connected. @@ -201,6 +207,12 @@ namespace GHelper.Peripherals.Mouse Logger.WriteLine(GetDisplayName() + ": Timeout reading packet " + e.Message); return null; } + catch (System.ObjectDisposedException e) + { + Logger.WriteLine(GetDisplayName() + ": Channel closed "); + OnDisconnect(); + return null; + } return response; @@ -655,7 +667,6 @@ namespace GHelper.Peripherals.Mouse for (int i = 0; i < DPIProfileCount(); ++i) { - Logger.WriteLine(GetDisplayName() + ": Read DPI Setting " + (i + 1) + ": " + DpiSettings[i].ToString()); }