summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2012-03-02 10:43:26 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2012-03-02 10:43:26 +0100
commitc8808a854b58a6370baba41a8a0de97f1d4f73fd (patch)
tree4e89f2fbf16e43374ae38db6986b852a7bc46d02 /device.c
parent28bc34b245ffdf0c205f0c5f2624e5c7d94d3c54 (diff)
downloadvdr-c8808a854b58a6370baba41a8a0de97f1d4f73fd.tar.gz
vdr-c8808a854b58a6370baba41a8a0de97f1d4f73fd.tar.bz2
Added a Query parameter to cDevice::GetDevice(), so that devices can be queried without side effects when zapping
Diffstat (limited to 'device.c')
-rw-r--r--device.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/device.c b/device.c
index 7fefbf26..9a0e4f6b 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.52 2012/03/02 10:18:44 kls Exp $
+ * $Id: device.c 2.53 2012/03/02 10:33:35 kls Exp $
*/
#include "device.h"
@@ -226,7 +226,7 @@ static int GetClippedNumProvidedSystems(int AvailableBits, cDevice *Device)
return NumProvidedSystems;
}
-cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool LiveView)
+cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool LiveView, bool Query)
{
cDevice *AvoidDevice = avoidDevice;
avoidDevice = NULL;
@@ -301,7 +301,7 @@ cDevice *cDevice::GetDevice(const cChannel *Channel, int Priority, bool LiveView
if (!NumUsableSlots)
break; // no CAM necessary, so just one loop over the devices
}
- if (d) {
+ if (d && !Query) {
if (NeedsDetachReceivers)
d->DetachAllReceivers();
if (s) {
@@ -687,7 +687,7 @@ bool cDevice::SwitchChannel(int Direction)
cChannel *channel;
while ((channel = Channels.GetByNumber(n, Direction)) != NULL) {
// try only channels which are currently available
- if (GetDevice(channel, LIVEPRIORITY, true))
+ if (GetDevice(channel, LIVEPRIORITY, true, true))
break;
n = channel->Number() + Direction;
}