1
0
mirror of https://github.com/DarthAffe/RGB.NET.git synced 2025-12-13 01:58:30 +00:00

Correctly implemented Dispose for update-triggers

This commit is contained in:
Darth Affe 2020-03-03 14:29:49 +01:00
parent cabb9825be
commit c98ffd2dbf
4 changed files with 12 additions and 3 deletions

View File

@ -139,6 +139,10 @@ namespace RGB.NET.Core
try { deviceProvider.Dispose(); }
catch { /* We do what we can */ }
foreach (IUpdateTrigger updateTrigger in _updateTriggers)
try { updateTrigger.Dispose(); }
catch { /* We do what we can */ }
_ledGroups.Clear();
_devices = null;
_deviceProvider = null;

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Core
/// <summary>
/// Represents a generic update trigger.
/// </summary>
public class AbstractUpdateTrigger : AbstractBindable, IUpdateTrigger
public abstract class AbstractUpdateTrigger : AbstractBindable, IUpdateTrigger
{
#region Events
@ -31,8 +31,7 @@ namespace RGB.NET.Core
protected virtual void OnUpdate(CustomUpdateData updateData = null) => Update?.Invoke(this, updateData);
/// <inheritdoc />
public virtual void Dispose()
{ }
public abstract void Dispose();
#endregion
}

View File

@ -144,6 +144,9 @@ namespace RGB.NET.Core
UpdateFrequency = UpdateRateHardLimit;
}
/// <inheritdoc />
public override void Dispose() => Stop();
#endregion
}
}

View File

@ -106,6 +106,9 @@ namespace RGB.NET.Core
}
}
/// <inheritdoc />
public override void Dispose() => Stop();
#endregion
}
}