summaryrefslogtreecommitdiff
path: root/sections.c
diff options
context:
space:
mode:
Diffstat (limited to 'sections.c')
-rw-r--r--sections.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sections.c b/sections.c
index ead623d0..d3fc2b0d 100644
--- a/sections.c
+++ b/sections.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: sections.c 1.5 2004/02/07 15:51:57 kls Exp $
+ * $Id: sections.c 1.6 2004/07/17 14:17:07 kls Exp $
*/
#include "sections.h"
@@ -85,11 +85,15 @@ void cSectionHandler::Add(const cFilterData *FilterData)
break;
}
if (!fh) {
- fh = new cFilterHandle(*FilterData);
- filterHandles.Add(fh);
- fh->handle = device->OpenFilter(FilterData->pid, FilterData->tid, FilterData->mask);
+ int handle = device->OpenFilter(FilterData->pid, FilterData->tid, FilterData->mask);
+ if (handle >= 0) {
+ fh = new cFilterHandle(*FilterData);
+ fh->handle = handle;
+ filterHandles.Add(fh);
+ }
}
- fh->used++;
+ if (fh)
+ fh->used++;
Unlock();
}