aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Providers/ProviderManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Providers/ProviderManager.cs20
1 files changed, 9 insertions, 11 deletions
diff --git a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs
index df6e06174..dced1ce28 100644
--- a/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs
+++ b/MediaBrowser.Server.Implementations/Providers/ProviderManager.cs
@@ -136,26 +136,24 @@ namespace MediaBrowser.Server.Implementations.Providers
}
var supportedProvidersHash = string.Join("+", supportedProviders.Select(i => i.GetType().Name)).GetMD5();
- bool providersChanged;
+ bool providersChanged = false;
item.ProviderData.TryGetValue(SupportedProvidersKey, out supportedProvidersInfo);
- if (supportedProvidersInfo == null)
- {
- // First time
- supportedProvidersInfo = new BaseProviderInfo { ProviderId = SupportedProvidersKey, FileSystemStamp = supportedProvidersHash };
- providersChanged = force = true;
- }
- else
+ if (supportedProvidersInfo != null)
{
// Force refresh if the supported providers have changed
providersChanged = force = force || supportedProvidersInfo.FileSystemStamp != supportedProvidersHash;
+
+ // If providers have changed, clear provider info and update the supported providers hash
+ if (providersChanged)
+ {
+ _logger.Debug("Providers changed for {0}. Clearing and forcing refresh.", item.Name);
+ item.ProviderData.Clear();
+ }
}
- // If providers have changed, clear provider info and update the supported providers hash
if (providersChanged)
{
- _logger.Debug("Providers changed for {0}. Clearing and forcing refresh.", item.Name);
- item.ProviderData.Clear();
supportedProvidersInfo.FileSystemStamp = supportedProvidersHash;
}