aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/BaseItem.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-25 14:05:21 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-25 14:05:21 -0400
commit736095049616d7cbf575106fb27793b486c41c46 (patch)
tree6edd60eae7eed1fde65b9a6cff235462c070c317 /MediaBrowser.Controller/Entities/BaseItem.cs
parent2d9b48d00fd31aaa96676c82a054b2794493fbf9 (diff)
reduce locking on folder children
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs18
1 files changed, 14 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 180bac8ba..6543275a5 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -336,7 +336,7 @@ namespace MediaBrowser.Controller.Entities
return _resolveArgs;
}
- set
+ private set
{
_resolveArgs = value;
_resolveArgsInitialized = value != null;
@@ -349,7 +349,17 @@ namespace MediaBrowser.Controller.Entities
/// <param name="pathInfo">The path info.</param>
public void ResetResolveArgs(FileSystemInfo pathInfo)
{
- ResolveArgs = CreateResolveArgs(pathInfo);
+ ResetResolveArgs(CreateResolveArgs(pathInfo));
+ }
+
+ public void ResetResolveArgs()
+ {
+ ResolveArgs = null;
+ }
+
+ public void ResetResolveArgs(ItemResolveArgs args)
+ {
+ ResolveArgs = args;
}
/// <summary>
@@ -887,10 +897,10 @@ namespace MediaBrowser.Controller.Entities
/// <returns>true if a provider reports we changed</returns>
public virtual async Task<bool> RefreshMetadata(CancellationToken cancellationToken, bool forceSave = false, bool forceRefresh = false, bool allowSlowProviders = true, bool resetResolveArgs = true)
{
- if (resetResolveArgs)
+ if (resetResolveArgs || ResolveArgs == null)
{
// Reload this
- ResolveArgs = null;
+ ResetResolveArgs();
}
// Refresh for the item