From 37a73ed5b463300ffd2b5d8d78f3a635ce510a82 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 10 Jan 2004 10:03:58 +0100 Subject: [PATCH] Fixed testing for matching section filters in case they are turned off --- CONTRIBUTORS | 1 + HISTORY | 4 +++- filter.c | 12 +++++++----- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 3e0f81f1..8ffa6c2e 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -652,6 +652,7 @@ Marcel Wiesweg currently not transmitting for fixing volume display in case a plugin has its own OSD open for providing 'libsi' and adapting the EIT mechanisms to it + for fixing testing for matching section filters in case they are turned off Torsten Herz for fixing a possible deadlock when using the "Blue" button in the "Schedules" menu diff --git a/HISTORY b/HISTORY index 61c70505..0806f819 100644 --- a/HISTORY +++ b/HISTORY @@ -2538,7 +2538,7 @@ Video Disk Recorder Revision History overflow that caused a crash when cleaning up the EPG data (at 05:00 in the morning). -2004-01-09: Version 1.3.1 +2004-01-10: Version 1.3.1 - Fixed a lockup in the EPG scanner when no non-primary device was available (thanks to Martin Holst for reporting this one). @@ -2560,3 +2560,5 @@ Video Disk Recorder Revision History - Fixed a 'const' in libsi/si.h (thanks to Marcel Wiesweg). - Fixed the 'su' call in 'runvdr' to make it work on systems that require the user name to appear before the command option (thanks to Robert Huitl). +- Fixed testing for matching section filters in case they are turned off (thanks + to Marcel Wiesweg). diff --git a/filter.c b/filter.c index 56054d36..ec5f6c04 100644 --- a/filter.c +++ b/filter.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: filter.c 1.2 2004/01/05 14:30:00 kls Exp $ + * $Id: filter.c 1.3 2004/01/10 10:02:06 kls Exp $ */ #include "filter.h" @@ -120,10 +120,12 @@ void cFilter::SetStatus(bool On) bool cFilter::Matches(u_short Pid, u_char Tid) { - for (cFilterData *fd = data.First(); fd; fd = data.Next(fd)) { - if (fd->Matches(Pid, Tid)) - return true; - } + if (on) { + for (cFilterData *fd = data.First(); fd; fd = data.Next(fd)) { + if (fd->Matches(Pid, Tid)) + return true; + } + } return false; }