summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2021-01-04 14:58:59 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2021-01-04 14:58:59 +0100
commitc276c6883d75d8c4402cd00f63c961213bbcbbf1 (patch)
tree21f1f55dcabe1fed3735b6c5a382f1df4251c383
parent163945045d5474dbf54a2c96e84450f4d2e56d15 (diff)
downloadvdr-c276c6883d75d8c4402cd00f63c961213bbcbbf1.tar.gz
vdr-c276c6883d75d8c4402cd00f63c961213bbcbbf1.tar.bz2
Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--epg.c9
3 files changed, 11 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 72837314..0926d4c0 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -2941,6 +2941,8 @@ Manuel Reimer <Manuel.Reimer@gmx.de>
for suggesting to make the SVDRP command DELC accept a channel id
for reporting a crash in the SVDRP command CLRE in case a non-existing channel
number is given
+ for reporting that LSTE doesn't work after PUTE in case a channel didn't already
+ have EPG data
Rene van den Braken <rene@vandenbraken.name>
for reporting a bug in writing the PCR pid into the PMT in
diff --git a/HISTORY b/HISTORY
index 50d1c4f2..ee93429a 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9571,3 +9571,5 @@ Video Disk Recorder Revision History
- Fixed a crash in the SVDRP command CLRE in case a non-existing channel number is
given (reported by Manuel Reimer).
- Fixed handling $(PKG_CONFIG) in newplugin (thanks to Winfried Köhler).
+- Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE
+ (reported by Manuel Reimer).
diff --git a/epg.c b/epg.c
index 5d2980c9..206b8ee5 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 4.9.1.1 2021/01/04 14:58:58 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;
}