summaryrefslogtreecommitdiff
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
parentc020b708a523b35c1d2ef0c34c8a4e5d1d7b9a00 (diff)
downloadvdr-e595e3b1d4bf5a9a6878bf18fb3a6fd05c223bdd.tar.gz
vdr-e595e3b1d4bf5a9a6878bf18fb3a6fd05c223bdd.tar.bz2
Fixed handling recording with more than two bonded devices
-rw-r--r--HISTORY3
-rw-r--r--device.c4
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
}