Fixed handling the running status of EPG events before the currently running one, in case they are added after the current event

This commit is contained in:
Klaus Schmidinger 2006-07-22 09:20:32 +02:00
parent f936447c25
commit c4743d1d26
2 changed files with 12 additions and 2 deletions

View File

@ -4802,7 +4802,7 @@ Video Disk Recorder Revision History
- Now making sure a VPS timer has a schedule in case the epg.data file didn't
contain one when VDR was started.
2006-06-24: Version 1.4.1-2
2006-07-22: Version 1.4.1-2
- Fixed the Makefile of the 'servicedemo' plugin, so that it defines the
PLUGIN macro, which allows the Make.config file to react properly when
@ -4812,3 +4812,5 @@ Video Disk Recorder Revision History
- Added a comment regarding the PLUGIN macro to the 'newplugin' script.
- Added '--vfat' to the vdr.1 man page (reported by Udo Richter).
- Removed a double fdopen() in cPipe::Open() (reported by Stefan Huelswitt).
- Fixed handling the running status of EPG events before the currently running one,
in case they are added after the current event.

10
epg.c
View File

@ -7,7 +7,7 @@
* Original version (as used in VDR before 1.3.0) written by
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
*
* $Id: epg.c 1.75 2006/05/25 14:55:36 kls Exp $
* $Id: epg.c 1.76 2006/07/22 09:13:15 kls Exp $
*/
#include "epg.h"
@ -770,6 +770,14 @@ void cSchedule::ResetVersions(void)
void cSchedule::Sort(void)
{
events.Sort();
// Make sure there are no RunningStatusUndefined before the currently running event:
if (hasRunning) {
for (cEvent *p = events.First(); p; p = events.Next(p)) {
if (p->RunningStatus() > SI::RunningStatusNotRunning)
break;
p->SetRunningStatus(SI::RunningStatusNotRunning);
}
}
}
void cSchedule::DropOutdated(time_t SegmentStart, time_t SegmentEnd, uchar TableID, uchar Version)