aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasily <just.one.man@yandex.ru>2020-02-27 20:11:40 +0300
committerVasily <just.one.man@yandex.ru>2020-02-27 20:11:40 +0300
commite125db4fe32712b1c291f50275dd3e7f04b355a3 (patch)
treebc04791c43a90bb59c6d9e9998ebb2f0942b313b
parent6c6b5d7f280b0d29bf5083387cac4897588e7ef6 (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.cs24
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;