diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-27 13:51:51 +0100 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-27 13:51:51 +0100 |
| commit | 826e21ecc85be03e15c4d2ad2f403ccb4dc2068e (patch) | |
| tree | d80063dba2f927b2ae06201b3fb84fdacfafd94d /Emby.Server.Implementations/Library | |
| parent | 885b45838cbcacb097e5981df7a93489da952fa6 (diff) | |
Fix LinkedAlternativeVersion validation
Diffstat (limited to 'Emby.Server.Implementations/Library')
| -rw-r--r-- | Emby.Server.Implementations/Library/LibraryManager.cs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index ef3402089b..0ad63ef84a 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -456,6 +456,15 @@ namespace Emby.Server.Implementations.Library { // If deleting an alternate version, re-route references to its primary RerouteLinkedChildReferencesAsync(alternateVideo.Id, alternateVideo.PrimaryVersionId.Value).GetAwaiter().GetResult(); + + // Remove deleted alternate from primary's LinkedAlternateVersions + if (GetItemById(alternateVideo.PrimaryVersionId.Value) is Video primaryVideo) + { + primaryVideo.LinkedAlternateVersions = primaryVideo.LinkedAlternateVersions + .Where(lc => !lc.ItemId.HasValue || !lc.ItemId.Value.Equals(alternateVideo.Id)) + .ToArray(); + primaryVideo.UpdateToRepositoryAsync(ItemUpdateType.MetadataEdit, CancellationToken.None).GetAwaiter().GetResult(); + } } var children = item.IsFolder |
