diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 42 |
1 files changed, 16 insertions, 26 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 6543275a5..497226dbb 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -304,14 +304,6 @@ namespace MediaBrowser.Controller.Entities /// </summary> private ItemResolveArgs _resolveArgs; /// <summary> - /// The _resolve args initialized - /// </summary> - private bool _resolveArgsInitialized; - /// <summary> - /// The _resolve args sync lock - /// </summary> - private object _resolveArgsSyncLock = new object(); - /// <summary> /// We attach these to the item so that we only ever have to hit the file system once /// (this includes the children of the containing folder) /// </summary> @@ -321,26 +313,24 @@ namespace MediaBrowser.Controller.Entities { get { - try - { - LazyInitializer.EnsureInitialized(ref _resolveArgs, ref _resolveArgsInitialized, ref _resolveArgsSyncLock, () => CreateResolveArgs()); - } - catch (IOException ex) + if (_resolveArgs == null) { - Logger.ErrorException("Error creating resolve args for {0}", ex, Path); + try + { + _resolveArgs = CreateResolveArgs(); + } + catch (IOException ex) + { + Logger.ErrorException("Error creating resolve args for {0}", ex, Path); - IsOffline = true; + IsOffline = true; - throw; + throw; + } } return _resolveArgs; } - private set - { - _resolveArgs = value; - _resolveArgsInitialized = value != null; - } } /// <summary> @@ -354,12 +344,12 @@ namespace MediaBrowser.Controller.Entities public void ResetResolveArgs() { - ResolveArgs = null; + _resolveArgs = null; } public void ResetResolveArgs(ItemResolveArgs args) { - ResolveArgs = args; + _resolveArgs = args; } /// <summary> @@ -759,7 +749,7 @@ namespace MediaBrowser.Controller.Entities if (dbItem != null) { - dbItem.ResolveArgs = video.ResolveArgs; + dbItem.ResetResolveArgs(video.ResolveArgs); video = dbItem; } @@ -820,7 +810,7 @@ namespace MediaBrowser.Controller.Entities if (dbItem != null) { - dbItem.ResolveArgs = audio.ResolveArgs; + dbItem.ResetResolveArgs(audio.ResolveArgs); audio = dbItem; } @@ -878,7 +868,7 @@ namespace MediaBrowser.Controller.Entities if (dbItem != null) { - dbItem.ResolveArgs = item.ResolveArgs; + dbItem.ResetResolveArgs(item.ResolveArgs); item = dbItem; } |
