diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2012-03-02 10:43:26 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2012-03-02 10:43:26 +0100 |
commit | c8808a854b58a6370baba41a8a0de97f1d4f73fd (patch) | |
tree | 4e89f2fbf16e43374ae38db6986b852a7bc46d02 /device.c | |
parent | 28bc34b245ffdf0c205f0c5f2624e5c7d94d3c54 (diff) | |
download | vdr-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.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -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; } |