summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2018-07-16 09:33:21 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2018-07-16 09:33:21 +0200
commit336822f6724dd3a2dbc4fbd5db357fc7b2a2ae39 (patch)
tree791e42102c2543010d05e870f5d9dd51a1cdfd7c /menu.c
parent5543f130510fba24c369d04a515415024be331b9 (diff)
downloadvdr-336822f6724dd3a2dbc4fbd5db357fc7b2a2ae39.tar.gz
vdr-336822f6724dd3a2dbc4fbd5db357fc7b2a2ae39.tar.bz2
Fixed switching through encrypted channels with the Up/Down keys
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/menu.c b/menu.c
index b44f36cc..b9133456 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 4.77 2018/05/27 09:51:56 kls Exp $
+ * $Id: menu.c 4.78 2018/07/16 09:29:57 kls Exp $
*/
#include "menu.h"
@@ -4704,6 +4704,8 @@ void cDisplayChannel::Refresh(void)
const cChannel *cDisplayChannel::NextAvailableChannel(const cChannel *Channel, int Direction)
{
if (Direction) {
+ cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
+ // and, if decrypted, this removes the now superflous PIDs from the CAM, too
LOCK_CHANNELS_READ;
while (Channel) {
Channel = Direction > 0 ? Channels->Next(Channel) : Channels->Prev(Channel);