summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2012-06-10 13:26:37 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2012-06-10 13:26:37 +0200
commite595e3b1d4bf5a9a6878bf18fb3a6fd05c223bdd (patch)
tree493b4edabc4987f5031dd9ca9517aaa5732085d7 /device.c
parentc020b708a523b35c1d2ef0c34c8a4e5d1d7b9a00 (diff)
downloadvdr-e595e3b1d4bf5a9a6878bf18fb3a6fd05c223bdd.tar.gz
vdr-e595e3b1d4bf5a9a6878bf18fb3a6fd05c223bdd.tar.bz2
Fixed handling recording with more than two bonded devices
Diffstat (limited to 'device.c')
-rw-r--r--device.c4
1 files changed, 2 insertions, 2 deletions
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
}