diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-06-13 16:37:19 +0200 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-06-13 18:06:15 +0200 |
| commit | a9dc8f6f742e71720aad2c402a08087f7a7d5368 (patch) | |
| tree | 1382365520c870c563731da213a4f7cf250bf6ce /MediaBrowser.Controller/Entities/UserRootFolder.cs | |
| parent | dd42a121c43721c8984ba0026d6fbed4a526d01f (diff) | |
Always apply recursive when filters are requested
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserRootFolder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/UserRootFolder.cs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/UserRootFolder.cs b/MediaBrowser.Controller/Entities/UserRootFolder.cs index deed3631b8..d5be997b84 100644 --- a/MediaBrowser.Controller/Entities/UserRootFolder.cs +++ b/MediaBrowser.Controller/Entities/UserRootFolder.cs @@ -69,8 +69,14 @@ namespace MediaBrowser.Controller.Entities protected override QueryResult<BaseItem> GetItemsInternal(InternalItemsQuery query) { - if (query.Recursive) + // The user root holds no items of its own - a plain listing returns the user's + // views. But a request carrying any filter is a search across the libraries, so + // resolve it through the recursive query path even when Recursive wasn't set; + // otherwise the filters would be silently dropped. Recursive is set so the + // downstream query (ancestor/top-parent scoping) treats it as a recursive search. + if (query.Recursive || query.HasFilters) { + query.Recursive = true; return QueryRecursive(query); } |
