From eed52751d5b44cf09ed45d2b1d70ef06abe9cccd Mon Sep 17 00:00:00 2001 From: Drake Arconis Date: Thu, 23 Mar 2017 20:49:34 -0400 Subject: [PATCH] Fix implementation of IDisposable interfaces --- LibreMetaverse/Simulator.cs | 4 ++-- LibreMetaverse/Voice/VoiceControl.cs | 11 ++++++++++- LibreMetaverseTypes/UtilsConversions.cs | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/LibreMetaverse/Simulator.cs b/LibreMetaverse/Simulator.cs index 4923c624..1d403d57 100644 --- a/LibreMetaverse/Simulator.cs +++ b/LibreMetaverse/Simulator.cs @@ -551,14 +551,14 @@ namespace OpenMetaverse GC.SuppressFinalize(this); } - public virtual void Dispose(bool disposing) + protected virtual void Dispose(bool disposing) { if (!disposing) return; AckTimer?.Dispose(); PingTimer?.Dispose(); StatsTimer?.Dispose(); - ConnectedEvent?.Close(); + ConnectedEvent?.Dispose(); // Force all the CAPS connections closed for this simulator Caps?.Disconnect(true); diff --git a/LibreMetaverse/Voice/VoiceControl.cs b/LibreMetaverse/Voice/VoiceControl.cs index 492eb37c..51d4a3f6 100644 --- a/LibreMetaverse/Voice/VoiceControl.cs +++ b/LibreMetaverse/Voice/VoiceControl.cs @@ -288,7 +288,16 @@ namespace OpenMetaverse.Voice /// public void Dispose() { - Stop(); + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + Stop(); + } } internal string GetVoiceDaemonPath() diff --git a/LibreMetaverseTypes/UtilsConversions.cs b/LibreMetaverseTypes/UtilsConversions.cs index 25f9203a..4f1218de 100644 --- a/LibreMetaverseTypes/UtilsConversions.cs +++ b/LibreMetaverseTypes/UtilsConversions.cs @@ -62,7 +62,7 @@ namespace OpenMetaverse "simstate", // 22 string.Empty, // 23 "link", // 24 - "link_f", // 25 + "link_f", // 25 string.Empty, // 26 string.Empty, // 27 string.Empty, // 28