aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMister Rajoy <danielarezdiaz@gmail.com>2020-08-10 20:33:11 +0200
committerMister Rajoy <danielarezdiaz@gmail.com>2020-08-10 20:33:11 +0200
commitc7b5bc55a1ac985c46b918e4b6208ea1f4ae0b2f (patch)
tree3388a3808568641d65091f75b2e1b0f02309176b
parent168160d9a3c1e7d6a878ffde60a5e891503d5988 (diff)
Fix MergeVersions()
-rw-r--r--Jellyfin.Api/Controllers/VideosController.cs19
1 files changed, 11 insertions, 8 deletions
diff --git a/Jellyfin.Api/Controllers/VideosController.cs b/Jellyfin.Api/Controllers/VideosController.cs
index fafa722c5..ebfb12cb5 100644
--- a/Jellyfin.Api/Controllers/VideosController.cs
+++ b/Jellyfin.Api/Controllers/VideosController.cs
@@ -233,7 +233,7 @@ namespace Jellyfin.Api.Controllers
.First();
}
- var list = primaryVersion.LinkedAlternateVersions.ToList();
+ var alternateVersionsOfPrimary = primaryVersion.LinkedAlternateVersions.ToList();
foreach (var item in items.Where(i => i.Id != primaryVersion.Id))
{
@@ -241,17 +241,20 @@ namespace Jellyfin.Api.Controllers
item.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
- list.Add(new LinkedChild
+ if (!alternateVersionsOfPrimary.Any(i => string.Equals(i.Path, item.Path, StringComparison.OrdinalIgnoreCase)))
{
- Path = item.Path,
- ItemId = item.Id
- });
+ alternateVersionsOfPrimary.Add(new LinkedChild
+ {
+ Path = item.Path,
+ ItemId = item.Id
+ });
+ }
foreach (var linkedItem in item.LinkedAlternateVersions)
{
- if (!list.Any(i => string.Equals(i.Path, linkedItem.Path, StringComparison.OrdinalIgnoreCase)))
+ if (!alternateVersionsOfPrimary.Any(i => string.Equals(i.Path, linkedItem.Path, StringComparison.OrdinalIgnoreCase)))
{
- list.Add(linkedItem);
+ alternateVersionsOfPrimary.Add(linkedItem);
}
}
@@ -262,7 +265,7 @@ namespace Jellyfin.Api.Controllers
}
}
- primaryVersion.LinkedAlternateVersions = list.ToArray();
+ primaryVersion.LinkedAlternateVersions = alternateVersionsOfPrimary.ToArray();
primaryVersion.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
return NoContent();
}