aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/BaseItem.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs42
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;
}