diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Providers/ProviderManager.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Providers/ProviderManager.cs | 20 |
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; } |
