From 05bc50d2a061310bfb7768549f7e221ab3a4d93e Mon Sep 17 00:00:00 2001 From: Chris Cameron Date: Wed, 25 Oct 2017 09:32:20 -0400 Subject: [PATCH] Potential fix for invalid operation exception --- ICD.Common.Utils/Services/ServiceProvider.cs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ICD.Common.Utils/Services/ServiceProvider.cs b/ICD.Common.Utils/Services/ServiceProvider.cs index 57ab020..3dfb1db 100644 --- a/ICD.Common.Utils/Services/ServiceProvider.cs +++ b/ICD.Common.Utils/Services/ServiceProvider.cs @@ -34,12 +34,9 @@ namespace ICD.Common.Services try { m_ServicesSection.Enter(); - foreach (object service in m_Services.Values.Distinct()) - { - if (!(service is IDisposable)) - continue; - ((IDisposable)service).Dispose(); - } + + foreach (IDisposable service in m_Services.Values.OfType().Distinct().ToArray()) + service.Dispose(); m_Services.Clear(); } finally