Fixed a possible 'invalid lock sequence' when switching to an unavailable channel with the main menu open

This commit is contained in:
Klaus Schmidinger 2020-07-13 08:16:41 +02:00
parent dd6077eb90
commit 88a2ef45ee
2 changed files with 6 additions and 4 deletions

View File

@ -9499,7 +9499,7 @@ Video Disk Recorder Revision History
rendered the whole code branch inactive. Now this branch is only executed for devices
that are not bonded.
2020-07-10:
2020-07-13:
- Improved deleting plugins in case the plugin uses its own memory management (thanks
to Winfried Köhler). Plugins that have been compiled with previous versions of VDR
@ -9509,3 +9509,5 @@ Video Disk Recorder Revision History
(reported by Thomas Reufer).
- Fixed handling inactive shared CA pids (thanks to Helmut Binder).
- Implemented handling multi packet CATs with MTD (thanks to Helmut Binder).
- Fixed a possible 'invalid lock sequence' when switching to an unavailable channel
with the main menu open.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: device.c 4.34 2020/06/27 10:24:46 kls Exp $
* $Id: device.c 4.35 2020/07/13 08:16:41 kls Exp $
*/
#include "device.h"
@ -808,9 +808,9 @@ bool cDevice::SwitchChannel(const cChannel *Channel, bool LiveView)
for (int i = 3; i--;) {
switch (SetChannel(Channel, LiveView)) {
case scrOk: return true;
case scrNotAvailable: Skins.Message(mtInfo, tr("Channel not available!"));
case scrNotAvailable: Skins.QueueMessage(mtInfo, tr("Channel not available!"));
return false;
case scrNoTransfer: Skins.Message(mtError, tr("Can't start Transfer Mode!"));
case scrNoTransfer: Skins.QueueMessage(mtError, tr("Can't start Transfer Mode!"));
return false;
case scrFailed: break; // loop will retry
default: esyslog("ERROR: invalid return value from SetChannel");