Fixed the timer indicator in the Schedule menu in case an event is already over, but the timer is still recording

This commit is contained in:
Klaus Schmidinger 2021-04-17 09:44:01 +02:00
parent 3d13eb002f
commit fa8c7c35b5
2 changed files with 5 additions and 3 deletions

View File

@ -9641,7 +9641,7 @@ Video Disk Recorder Revision History
- No longer switching devices for pattern timers (thanks to Helmut Binder).
- cTimer::TriggerRespawn() now only acts on local timers.
2021-04-16:
2021-04-17:
- When spawning pattern timers, the new function cTimers::GetTimerForEvent() is now used
to check whether a matching event already has a local spawned timer. Reason: creating a timer
@ -9656,3 +9656,5 @@ Video Disk Recorder Revision History
matching events that would start while the first one is still recording.
- Now making sure that spawned timers with reduced start/stop margins actually record with
the full margins.
- Fixed the timer indicator in the Schedule menu in case an event is already over, but the
timer is still recording.

4
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 5.3 2021/01/14 10:29:05 kls Exp $
* $Id: menu.c 5.4 2021/04/17 09:44:01 kls Exp $
*/
#include "menu.h"
@ -1602,7 +1602,7 @@ bool cMenuScheduleItem::Update(const cTimers *Timers, bool Force)
eTimerMatch OldTimerMatch = timerMatch;
bool OldTimerActive = timerActive;
const cTimer *Timer = Timers->GetMatch(event, &timerMatch);
if (event->EndTime() < time(NULL) && !event->IsRunning())
if (event->EndTime() < time(NULL) && !event->IsRunning() && (!Timer || !Timer->Recording()))
timerMatch = tmNone;
timerActive = Timer && Timer->HasFlags(tfActive);
if (Force || timerMatch != OldTimerMatch || timerActive != OldTimerActive) {