summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY4
-rw-r--r--menu.c8
3 files changed, 9 insertions, 5 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 73162045..baaae827 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -283,6 +283,8 @@ Uwe Scheffler <linux_dvb@uni.de>
for reporting a problem in handling the PrimaryLimit when requesting a device for
live viewing
for reporting a black screen while a "Recording started" message is displayed
+ for reporting a problem with the lock on the Channels list in cDisplayChannel still
+ being held when Flush() was called
Matjaz Thaler <matjaz.thaler@guest.arnes.si>
for improving AC3 decoding when replaying DVDs
diff --git a/HISTORY b/HISTORY
index 23dfa28a..fafc0620 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9348,7 +9348,7 @@ Video Disk Recorder Revision History
Senzel).
- Official release.
-2018-05-06: Version 2.4.1
+2018-05-27: Version 2.4.1
- Fixed handling the tfRecording flag in the SVDRP commands MODT and UPDT (reported
by Johann Friedrichs).
@@ -9360,4 +9360,4 @@ Video Disk Recorder Revision History
unconditionally in the main loop, and checks whether the current cSkinDisplay object
(if any) implements SetMessage().
- Fixed locking the Channels list in cDisplayChannel, where the lock was still held
- when Flush() was called (reported by Matthias Senzel).
+ when Flush() was called (reported by Matthias Senzel and Uwe Scheffler).
diff --git a/menu.c b/menu.c
index a9ea49d2..b44f36cc 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.76 2018/05/06 09:30:11 kls Exp $
+ * $Id: menu.c 4.77 2018/05/27 09:51:56 kls Exp $
*/
#include "menu.h"
@@ -4654,8 +4654,10 @@ cDisplayChannel::cDisplayChannel(eKeys FirstKey)
displayChannel = Skins.Current()->DisplayChannel(withInfo);
positioner = NULL;
channel = NULL;
- LOCK_CHANNELS_READ;
- channel = Channels->GetByNumber(cDevice::CurrentChannel());
+ {
+ LOCK_CHANNELS_READ;
+ channel = Channels->GetByNumber(cDevice::CurrentChannel());
+ }
ProcessKey(FirstKey);
}