From 1a91d46cf3b28d8bc07c0423b41532985f8561b2 Mon Sep 17 00:00:00 2001
From: Klaus Schmidinger <vdr@tvdr.de>
Date: Sun, 8 Feb 2004 12:22:24 +0100
Subject: Fixed the validity check for channel IDs, because some providers use
 TIDs with value 0

---
 CONTRIBUTORS | 4 ++++
 HISTORY      | 2 ++
 channels.h   | 4 ++--
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index e603f52d..bc4c2ee5 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -929,3 +929,7 @@ Jens Rosenboom <me@jayr.de>
 
 Andreas Regel <andreas.regel@gmx.de>
  for fixing handling bitmap indexes for 256 color mode
+
+Thomas Bergwinkl <Thomas.Bergwinkl@t-online.de>
+ for fixing the validity check for channel IDs, because some providers use TIDs
+ with value 0
diff --git a/HISTORY b/HISTORY
index 857e0c84..252f5dd3 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2642,3 +2642,5 @@ Video Disk Recorder Revision History
   Volkenandt for his support in debugging this one). This may slow down switching
   between channels on different transponders for now, but a better solution will
   come later.
+- Fixed the validity check for channel IDs, because some providers use TIDs with
+  value 0 (thanks to Thomas Bergwinkl).
diff --git a/channels.h b/channels.h
index fa55d951..6d6dd3a5 100644
--- a/channels.h
+++ b/channels.h
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: channels.h 1.14 2004/02/07 22:04:26 kls Exp $
+ * $Id: channels.h 1.15 2004/02/08 12:20:22 kls Exp $
  */
 
 #ifndef __CHANNELS_H
@@ -59,7 +59,7 @@ public:
   tChannelID(void) { source = nid = tid = sid = rid = 0; }
   tChannelID(int Source, int Nid, int Tid, int Sid, int Rid = 0) { source = Source; nid = Nid; tid = Tid; sid = Sid; rid = Rid; }
   bool operator== (const tChannelID &arg) const;
-  bool Valid(void) { return tid && sid; } // nid and rid are optional and source may be 0//XXX source may not be 0???
+  bool Valid(void) { return (nid || tid) && sid; } // rid is optional and source may be 0//XXX source may not be 0???
   tChannelID &ClrRid(void) { rid = 0; return *this; }
   static tChannelID FromString(const char *s);
   const char *ToString(void);
-- 
cgit v1.2.3