aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs24
1 files changed, 19 insertions, 5 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index e248ddafa..bc009e548 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -1020,6 +1020,11 @@ namespace MediaBrowser.Controller.Entities
/// <returns>BaseItem.</returns>
private BaseItem GetLinkedChild(LinkedChild info)
{
+ if (string.IsNullOrEmpty(info.Path))
+ {
+ throw new ArgumentException("Encountered linked child with empty path.");
+ }
+
var item = LibraryManager.RootFolder.FindByPath(info.Path);
if (item == null)
@@ -1070,12 +1075,21 @@ namespace MediaBrowser.Controller.Entities
try
{
Logger.Debug("Found shortcut at {0}", i.FullName);
-
- return new LinkedChild
+
+ var resolvedPath = FileSystem.ResolveShortcut(i.FullName);
+
+ if (!string.IsNullOrEmpty(resolvedPath))
{
- Path = FileSystem.ResolveShortcut(i.FullName),
- Type = LinkedChildType.Shortcut
- };
+ return new LinkedChild
+ {
+ Path = resolvedPath,
+ Type = LinkedChildType.Shortcut
+ };
+ }
+
+ Logger.Error("Error resolving shortcut {0}", i.FullName);
+
+ return null;
}
catch (IOException ex)
{