1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed locking the Channels list in cDisplayChannel, where the lock was still held when Flush() was called (cont'd)

This commit is contained in:
Klaus Schmidinger 2018-05-27 09:55:30 +02:00
parent d380b57d28
commit 30eb01ef37
3 changed files with 9 additions and 5 deletions

View File

@ -283,6 +283,8 @@ Uwe Scheffler <linux_dvb@uni.de>
for reporting a problem in handling the PrimaryLimit when requesting a device for for reporting a problem in handling the PrimaryLimit when requesting a device for
live viewing live viewing
for reporting a black screen while a "Recording started" message is displayed 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> Matjaz Thaler <matjaz.thaler@guest.arnes.si>
for improving AC3 decoding when replaying DVDs for improving AC3 decoding when replaying DVDs

View File

@ -9348,7 +9348,7 @@ Video Disk Recorder Revision History
Senzel). Senzel).
- Official release. - 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 - Fixed handling the tfRecording flag in the SVDRP commands MODT and UPDT (reported
by Johann Friedrichs). by Johann Friedrichs).
@ -9360,4 +9360,4 @@ Video Disk Recorder Revision History
unconditionally in the main loop, and checks whether the current cSkinDisplay object unconditionally in the main loop, and checks whether the current cSkinDisplay object
(if any) implements SetMessage(). (if any) implements SetMessage().
- Fixed locking the Channels list in cDisplayChannel, where the lock was still held - 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).

8
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "menu.h"
@ -4654,8 +4654,10 @@ cDisplayChannel::cDisplayChannel(eKeys FirstKey)
displayChannel = Skins.Current()->DisplayChannel(withInfo); displayChannel = Skins.Current()->DisplayChannel(withInfo);
positioner = NULL; positioner = NULL;
channel = NULL; channel = NULL;
LOCK_CHANNELS_READ; {
channel = Channels->GetByNumber(cDevice::CurrentChannel()); LOCK_CHANNELS_READ;
channel = Channels->GetByNumber(cDevice::CurrentChannel());
}
ProcessKey(FirstKey); ProcessKey(FirstKey);
} }