summaryrefslogtreecommitdiff
path: root/epg.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2021-01-04 09:05:26 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2021-01-04 09:05:26 +0100
commiteebcc57079e25968a3de04266e7c7673c2915419 (patch)
tree1d19a819862b4202686454394bbf4daeb8a31d13 /epg.c
parentcbc04d73b8a3cbc9b6bba30ddd835b38e20352ff (diff)
downloadvdr-eebcc57079e25968a3de04266e7c7673c2915419.tar.gz
vdr-eebcc57079e25968a3de04266e7c7673c2915419.tar.bz2
Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE
Diffstat (limited to 'epg.c')
-rw-r--r--epg.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/epg.c b/epg.c
index 5d2980c9..c4080478 100644
--- a/epg.c
+++ b/epg.c
@@ -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 4.9 2019/05/20 09:55:22 kls Exp $
+ * $Id: epg.c 5.1 2021/01/04 09:05:26 kls Exp $
*/
#include "epg.h"
@@ -1311,8 +1311,13 @@ bool cSchedules::Read(FILE *f)
fclose(f);
if (result) {
// Initialize the channels' schedule pointers, so that the first WhatsOn menu will come up faster:
- for (cChannel *Channel = Channels->First(); Channel; Channel = Channels->Next(Channel))
+ for (cChannel *Channel = Channels->First(); Channel; Channel = Channels->Next(Channel)) {
+ if (const cSchedule *Schedule = Channel->schedule) {
+ if (!Schedule->ChannelID().Valid()) // this is the DummySchedule
+ Channel->schedule = NULL;
+ }
Schedules->GetSchedule(Channel);
+ }
}
return result;
}