aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs6
-rw-r--r--Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs8
2 files changed, 7 insertions, 7 deletions
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs
index 22a03dafa7..812b6ab59c 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.QueryBuilding.cs
@@ -439,11 +439,11 @@ public sealed partial class BaseItemRepository
|| (e.TopParentId.HasValue && f.ItemId == e.TopParentId.Value))));
}
- // Exclude alternate versions from counts. Alternate versions have
- // OwnerId set (pointing to their primary) but no ExtraType.
+ // Exclude alternate versions and owned non-extra items from counts.
+ // Alternate versions have PrimaryVersionId set (pointing to their primary).
if (!filter.IncludeOwnedItems)
{
- baseQuery = baseQuery.Where(e => e.OwnerId == null || e.ExtraType != null);
+ baseQuery = baseQuery.Where(e => e.PrimaryVersionId == null && (e.OwnerId == null || e.ExtraType != null));
}
return baseQuery;
diff --git a/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs b/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs
index f7f48278db..c1c7e6cd95 100644
--- a/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs
+++ b/Jellyfin.Server.Implementations/Item/BaseItemRepository.TranslateQuery.cs
@@ -721,10 +721,10 @@ public sealed partial class BaseItemRepository
}
else if (filter.OwnerIds.Length == 0 && filter.ExtraTypes.Length == 0 && !filter.IncludeOwnedItems)
{
- // Exclude alternate versions from general queries. Alternate versions have
- // OwnerId set (pointing to their primary) but no ExtraType.
- // Extras (trailers, etc.) also have OwnerId but DO have ExtraType set - keep those.
- baseQuery = baseQuery.Where(e => e.OwnerId == null || e.ExtraType != null);
+ // Exclude alternate versions and owned non-extra items from general queries.
+ // Alternate versions have PrimaryVersionId set (pointing to their primary).
+ // Extras (trailers, etc.) have OwnerId set but also have ExtraType set - keep those.
+ baseQuery = baseQuery.Where(e => e.PrimaryVersionId == null && (e.OwnerId == null || e.ExtraType != null));
}
if (filter.OwnerIds.Length > 0)