diff --git a/MediaBrowser.Controller/IO/FileData.cs b/MediaBrowser.Controller/IO/FileData.cs
index e2bdb28e3..ed5acbb3d 100644
--- a/MediaBrowser.Controller/IO/FileData.cs
+++ b/MediaBrowser.Controller/IO/FileData.cs
@@ -26,12 +26,12 @@ namespace MediaBrowser.Controller.IO
/// if set to true [resolve shortcuts].
/// Dictionary{System.StringFileSystemInfo}.
/// path
- public static Dictionary GetFilteredFileSystemEntries(IDirectoryService directoryService,
- string path,
- IFileSystem fileSystem,
- ILogger logger,
- ItemResolveArgs args,
- int flattenFolderDepth = 0,
+ public static Dictionary GetFilteredFileSystemEntries(IDirectoryService directoryService,
+ string path,
+ IFileSystem fileSystem,
+ ILogger logger,
+ ItemResolveArgs args,
+ int flattenFolderDepth = 0,
bool resolveShortcuts = true)
{
if (string.IsNullOrEmpty(path))
@@ -60,22 +60,29 @@ namespace MediaBrowser.Controller.IO
if (resolveShortcuts && fileSystem.IsShortcut(fullName))
{
- var newPath = fileSystem.ResolveShortcut(fullName);
-
- if (string.IsNullOrWhiteSpace(newPath))
+ try
{
- //invalid shortcut - could be old or target could just be unavailable
- logger.Warn("Encountered invalid shortcut: " + fullName);
- continue;
+ var newPath = fileSystem.ResolveShortcut(fullName);
+
+ if (string.IsNullOrWhiteSpace(newPath))
+ {
+ //invalid shortcut - could be old or target could just be unavailable
+ logger.Warn("Encountered invalid shortcut: " + fullName);
+ continue;
+ }
+
+ // Don't check if it exists here because that could return false for network shares.
+ var data = fileSystem.GetDirectoryInfo(newPath);
+
+ // add to our physical locations
+ args.AddAdditionalLocation(newPath);
+
+ dict[newPath] = data;
+ }
+ catch (Exception ex)
+ {
+ logger.ErrorException("Error resolving shortcut from {0}", ex, fullName);
}
-
- // Don't check if it exists here because that could return false for network shares.
- var data = fileSystem.GetDirectoryInfo(newPath);
-
- // add to our physical locations
- args.AddAdditionalLocation(newPath);
-
- dict[newPath] = data;
}
else if (flattenFolderDepth > 0 && isDirectory)
{