summaryrefslogtreecommitdiff
path: root/ci.c
diff options
context:
space:
mode:
Diffstat (limited to 'ci.c')
-rw-r--r--ci.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ci.c b/ci.c
index 2f399be2..7d001a4f 100644
--- a/ci.c
+++ b/ci.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: ci.c 4.27 2020/06/16 14:25:43 kls Exp $
+ * $Id: ci.c 4.28 2020/06/16 14:33:32 kls Exp $
*/
#include "ci.h"
@@ -2757,9 +2757,13 @@ void cCamSlot::StartDecrypting(void)
void cCamSlot::StopDecrypting(void)
{
cMutexLock MutexLock(&mutex);
+ if (mtdHandler) {
+ mtdHandler->StopDecrypting();
+ return;
+ }
if (caProgramList.Count()) {
caProgramList.Clear();
- if (!dynamic_cast<cMtdCamSlot *>(this))
+ if (!dynamic_cast<cMtdCamSlot *>(this) || !MasterSlot()->IsDecrypting())
SendCaPmt(CPCI_NOT_SELECTED);
}
}