diff options
| author | Vasily <just.one.man@yandex.ru> | 2020-02-27 20:11:40 +0300 |
|---|---|---|
| committer | Vasily <just.one.man@yandex.ru> | 2020-02-27 20:11:40 +0300 |
| commit | e125db4fe32712b1c291f50275dd3e7f04b355a3 (patch) | |
| tree | bc04791c43a90bb59c6d9e9998ebb2f0942b313b | |
| parent | 6c6b5d7f280b0d29bf5083387cac4897588e7ef6 (diff) | |
Bring back sorting when needed to fix PlayTo
This is partial revert of https://github.com/jellyfin/jellyfin/pull/1011
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 07fbe6035..17786fc9a 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -809,9 +809,17 @@ namespace MediaBrowser.Controller.Entities public QueryResult<BaseItem> GetItems(InternalItemsQuery query) { - if (query.ItemIds.Length > 0) + if (query.ItemIds.Length > 1) { - return LibraryManager.GetItemsResult(query); + var result = LibraryManager.GetItemsResult(query); + + if (query.OrderBy.Count == 0) + { + var ids = query.ItemIds.ToList(); + // Try to preserve order, "Play To" relies on it + result.Items = result.Items.OrderBy(i => ids.IndexOf(i.Id)).ToArray(); + } + return result; } return GetItemsInternal(query); @@ -821,9 +829,17 @@ namespace MediaBrowser.Controller.Entities { query.EnableTotalRecordCount = false; - if (query.ItemIds.Length > 0) + if (query.ItemIds.Length > 1) { - return LibraryManager.GetItemList(query); + var result = LibraryManager.GetItemList(query); + + if (query.OrderBy.Count == 0) + { + var ids = query.ItemIds.ToList(); + // Try to preserve order, "Play To" relies on it + return result.OrderBy(i => ids.IndexOf(i.Id)).ToArray(); + } + return result.ToArray(); } return GetItemsInternal(query).Items; |
