diff options
| author | Shadowghost <Shadowghost@users.noreply.github.com> | 2026-09-15 11:17:07 -0400 |
|---|---|---|
| committer | Cody Robibero <cody@robibe.ro> | 2026-09-15 11:17:07 -0400 |
| commit | cdd2b3e0479343aaf33d21e6356412377b534b2c (patch) | |
| tree | ad68df4a45a484158f09cc0b9a44e24ebfe48c54 /Emby.Server.Implementations/Library | |
| parent | c74ddebd172638399af5585d4a52d73a53dcae62 (diff) | |
Backport pull request #18030 from jellyfin/release-12.z
Stop wrong-type alternate version cleanup from recursing
Original-merge: af368af0619ab04594169468790a6b61f55543b1
Merged-by: crobibero <cody@robibe.ro>
Backported-by: Cody Robibero <cody@robibe.ro>
Diffstat (limited to 'Emby.Server.Implementations/Library')
| -rw-r--r-- | Emby.Server.Implementations/Library/LibraryManager.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 2b3ccd5c99..caba304888 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -878,7 +878,18 @@ namespace Emby.Server.Implementations.Library wrongTypeItem.GetType().Name, expectedVideoType.Name, path); - DeleteItem(wrongTypeItem, new DeleteOptions { DeleteFileLocation = false }); + + // A full DeleteItem would save the primary version, which resolves its + // alternates again and re-enters here before this row is gone. + DeleteItemsUnsafeFast([wrongTypeItem]); + + // The fast path skips the parent bookkeeping, and the stale item is listed + // under its ParentId, so that folder's cached listing has to be dropped. + if (wrongTypeItem.GetParent() is Folder staleParent) + { + staleParent.Children = null; + staleParent.UserData = null; + } } } |
