From 7a754e1c900e786c0a01eb97c8c28b61465a9a7a Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Tue, 22 Feb 2022 16:44:39 -0800 Subject: [PATCH] Cleanup fixes --- AudioDevice.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/AudioDevice.cs b/AudioDevice.cs index 7b792b1..ebff250 100644 --- a/AudioDevice.cs +++ b/AudioDevice.cs @@ -240,17 +240,20 @@ namespace MoonWorks.Audio { if (disposing) { - // TODO: dispose managed state (managed objects) - foreach (var weakReference in streamingSounds) - { - if (weakReference.TryGetTarget(out var streamingSound)) + for (var i = streamingSounds.Count - 1; i >= 0; i--) + { + var weakReference = streamingSounds[i]; + + if (weakReference.TryGetTarget(out var streamingSound)) { streamingSound.Dispose(); } - } - streamingSounds.Clear(); + } + streamingSounds.Clear(); } + FAudio.FAudioVoice_DestroyVoice(ReverbVoice); + FAudio.FAudioVoice_DestroyVoice(MasteringVoice); FAudio.FAudio_Release(Handle); IsDisposed = true;