aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs')
-rw-r--r--MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs28
1 files changed, 27 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs
index 330469877..748ba0df4 100644
--- a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs
+++ b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs
@@ -361,7 +361,33 @@ namespace MediaBrowser.Server.Implementations.IO
if (e.ChangeType == WatcherChangeTypes.Changed)
{
// If the parent of an ignored path has a change event, ignore that too
- if (tempIgnorePaths.Any(i => string.Equals(Path.GetDirectoryName(i), e.FullPath, StringComparison.OrdinalIgnoreCase) || string.Equals(i, e.FullPath, StringComparison.OrdinalIgnoreCase)))
+ if (tempIgnorePaths.Any(i =>
+ {
+ if (string.Equals(i, e.FullPath, StringComparison.OrdinalIgnoreCase))
+ {
+ return true;
+ }
+
+ // Go up a level
+ var parent = Path.GetDirectoryName(i);
+ if (string.Equals(parent, e.FullPath, StringComparison.OrdinalIgnoreCase))
+ {
+ return true;
+ }
+
+ // Go up another level
+ if (!string.IsNullOrEmpty(parent))
+ {
+ parent = Path.GetDirectoryName(i);
+ if (string.Equals(parent, e.FullPath, StringComparison.OrdinalIgnoreCase))
+ {
+ return true;
+ }
+ }
+
+ return false;
+
+ }))
{
return;
}