diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index e248ddafa8..bc009e5481 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -1020,6 +1020,11 @@ namespace MediaBrowser.Controller.Entities /// BaseItem. 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) {