diff --git a/CHANGELOG.md b/CHANGELOG.md index 06ff47920..6ca750411 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -75,6 +75,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix incorrect media item counts after removing paths from local libraries - Fix song playback in playback troubleshooting - Fix seeking into extracted text subtitles +- Fix error when changing default (lowest priority) alternate schedule ### Changed - Allow multiple watermarks in playback troubleshooting diff --git a/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs b/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs index d706e8a94..d3381a752 100644 --- a/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs +++ b/ErsatzTV.Application/Playouts/Commands/ReplacePlayoutAlternateScheduleItemsHandler.cs @@ -112,13 +112,19 @@ public class ReplacePlayoutAlternateScheduleItemsHandler : } // save highest index directly to playout - if (playout.ProgramScheduleId != highest.ProgramScheduleId) + bool hasDefaultScheduleChange = playout.ProgramScheduleId != highest.ProgramScheduleId; + if (hasDefaultScheduleChange) { playout.ProgramScheduleId = highest.ProgramScheduleId; } await dbContext.SaveChangesAsync(cancellationToken); + if (hasDefaultScheduleChange) + { + await dbContext.Entry(playout).Reference(p => p.ProgramSchedule).LoadAsync(cancellationToken); + } + // load newly-added schedules foreach (ProgramScheduleAlternate alternate in playout.ProgramScheduleAlternates .Where(alternate => alternate.ProgramSchedule is null))