From e595e3b1d4bf5a9a6878bf18fb3a6fd05c223bdd Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 10 Jun 2012 13:26:37 +0200 Subject: [PATCH] Fixed handling recording with more than two bonded devices --- HISTORY | 3 ++- device.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/HISTORY b/HISTORY index 7f4f0bfa..c2f29f89 100644 --- a/HISTORY +++ b/HISTORY @@ -7148,7 +7148,7 @@ Video Disk Recorder Revision History caching the information whether a recording is stored on the video directory file system within the cRecording data (based on a patch from Torsten Lang). -2012-06-09: Version 1.7.29 +2012-06-10: Version 1.7.29 - Added a missing template specification to the c'tor of cSortedTimers (thanks to Udo Richter). @@ -7176,3 +7176,4 @@ Video Disk Recorder Revision History If a folder is newly created by a repeating timer, the sort mode for that folder is initially set to "by time". - Fixed several spelling errors (thanks to Ville Skyttä). +- Fixed handling recording with more than two bonded devices. diff --git a/device.c b/device.c index 25dacc91..872b1aa9 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 2.61 2012/06/09 14:37:24 kls Exp $ + * $Id: device.c 2.62 2012/06/10 13:13:18 kls Exp $ */ #include "device.h" @@ -334,7 +334,7 @@ cDevice *cDevice::GetDeviceForTransponder(const cChannel *Channel, int Priority) if (d->ProvidesTransponder(Channel)) { if (d->MaySwitchTransponder(Channel)) Device = d; // this device may switch to the transponder without disturbing any receiver or live view - else if (!d->Occupied()) { + else if (!d->Occupied() && d->MaySwitchTransponder(Channel)) { // MaySwitchTransponder() implicitly calls Occupied() if (d->Priority() < Priority && (!Device || d->Priority() < Device->Priority())) Device = d; // use this one only if no other with less impact can be found }