Fixed symmetry of Begin/EndSegmentTransfer() calls in cEIT::cEIT()

This commit is contained in:
Klaus Schmidinger 2022-12-23 09:47:23 +01:00
parent 5b134cb23e
commit 13672280b6
3 changed files with 13 additions and 9 deletions

View File

@ -2675,6 +2675,7 @@ J
for suggesting to no longer log unaligned marks in cMarks::Align()
for reporting some warnings from g++ 7.2.0 regarding fixed buffer sizes in
cMenuEditTimeItem::Set() and cCountdown::Update()
for fixing symmetry of Begin/EndSegmentTransfer() calls in cEIT::cEIT()
Peter Pinnau <vdr@unterbrecher.de>
for reporting that 'uint32_t' requires including stdint.h in font.h on some systems

View File

@ -9833,7 +9833,9 @@ Video Disk Recorder Revision History
- Avoiding a zero sized array in cDevice::GetDevice() (thanks to Marko Mäkelä).
- Now checking the video directory after setting the user id.
2022-12-19:
2022-12-23:
- Updated the Italian OSD texts (thanks to Diego Pierotto).
- Fixed restoring the volume at program start (thanks to Matthias Senzel).
- Fixed symmetry of Begin/EndSegmentTransfer() calls in cEIT::cEIT() (thanks to
Jörg Wendel).

17
eit.c
View File

@ -8,7 +8,7 @@
* Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
* Adapted to 'libsi' for VDR 1.3.0 by Marcel Wiesweg <marcel.wiesweg@gmx.de>.
*
* $Id: eit.c 5.5 2022/11/22 14:33:48 kls Exp $
* $Id: eit.c 5.6 2022/12/23 09:47:23 kls Exp $
*/
// The various ways in which broadcasters handle (or screw up) their EPG:
@ -115,6 +115,14 @@ cEIT::cEIT(cEitTablesHash &EitTablesHash, int Source, u_char Tid, const u_char *
return;
}
cSchedule *pSchedule = (cSchedule *)Schedules->GetSchedule(Channel, true);
if (pSchedule->OnActualTp(Tid) && (Tid & 0xF0) == 0x60) {
SchedulesStateKey.Remove(false);
ChannelsStateKey.Remove(false);
return;
}
if (!EpgHandlers.BeginSegmentTransfer(Channel)) {
SchedulesStateKey.Remove(false);
ChannelsStateKey.Remove(false);
@ -123,13 +131,6 @@ cEIT::cEIT(cEitTablesHash &EitTablesHash, int Source, u_char Tid, const u_char *
bool ChannelsModified = false;
bool handledExternally = EpgHandlers.HandledExternally(Channel);
cSchedule *pSchedule = (cSchedule *)Schedules->GetSchedule(Channel, true);
if (pSchedule->OnActualTp(Tid) && (Tid & 0xF0) == 0x60) {
SchedulesStateKey.Remove(false);
ChannelsStateKey.Remove(false);
return;
}
bool Empty = true;
bool Modified = false;