diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-15 23:13:01 +0100 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-15 23:13:01 +0100 |
| commit | ba356638e8e2d376e35a8e8774129662c9584865 (patch) | |
| tree | 164afc14b9e669e0a19fa2c84b14f4c00865e943 | |
| parent | 3439d3c017a06604e7b471a1063a8467306f78f2 (diff) | |
Fix Extra refresh
| -rw-r--r-- | Emby.Server.Implementations/Library/LibraryManager.cs | 7 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 7517dc03ba..9a5bd41914 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -3134,13 +3134,12 @@ namespace Emby.Server.Implementations.Library extra.ExtraType = extraType; } - // Only set OwnerId if this is actually an extra (not Unknown or null) + // Only return items that are actual extras (have ExtraType set) + // Note: OwnerId and ParentId are set by RefreshExtras, not here, + // so that RefreshExtras can detect when they need updating and set ForceSave. if (extra.ExtraType is not null) { - extra.ParentId = Guid.Empty; - extra.OwnerId = owner.Id; extra.IsInMixedFolder = isInMixedFolder; - return extra; } diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index 67b56ba5f0..e19074d0c9 100644 --- a/MediaBrowser.Controller/Entities/BaseItem.cs +++ b/MediaBrowser.Controller/Entities/BaseItem.cs @@ -1432,11 +1432,11 @@ namespace MediaBrowser.Controller.Entities var subOptions = new MetadataRefreshOptions(options); if (!i.OwnerId.Equals(ownerId) || !i.ParentId.IsEmpty()) { - i.OwnerId = ownerId; - i.ParentId = Guid.Empty; subOptions.ForceSave = true; } + i.OwnerId = ownerId; + i.ParentId = Guid.Empty; return RefreshMetadataForOwnedItem(i, true, subOptions, cancellationToken); }); |
