Now setting currentDisplayChannel = NULL before calling cStatus::MsgOsdClear() in ~cDisplayChannel(), to avoid possible problems in case a plugin calls IsOpen()

This commit is contained in:
Klaus Schmidinger 2020-07-01 15:05:17 +02:00
parent 5193fd9d99
commit fa5c9f764a
3 changed files with 7 additions and 3 deletions

View File

@ -3426,6 +3426,7 @@ Thomas Reufer <thomas@reufer.ch>
for fixing regenerating the index of audio recordings
for implementing the SVDRP commands 'LSTD' and 'PRIM'
for adding some comments regarding font height
for reporting a possible problem with plugins calling IsOpen() in ~cDisplayChannel()
Eike Sauer <EikeSauer@t-online.de>
for reporting a problem with channels that need more than 5 TS packets for detecting

View File

@ -9499,8 +9499,11 @@ Video Disk Recorder Revision History
rendered the whole code branch inactive. Now this branch is only executed for devices
that are not bonded.
2020-06-29:
2020-07-01:
- 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
do not need to be recompiled, they will silently be handled as before.
- Now setting currentDisplayChannel = NULL before calling cStatus::MsgOsdClear() in
~cDisplayChannel(), to avoid possible problems in case a plugin calls IsOpen()
(reported by Thomas Reufer).

4
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 4.82 2020/05/18 16:47:29 kls Exp $
* $Id: menu.c 4.83 2020/07/01 15:05:17 kls Exp $
*/
#include "menu.h"
@ -4686,8 +4686,8 @@ cDisplayChannel::cDisplayChannel(eKeys FirstKey)
cDisplayChannel::~cDisplayChannel()
{
delete displayChannel;
cStatus::MsgOsdClear();
currentDisplayChannel = NULL;
cStatus::MsgOsdClear();
}
void cDisplayChannel::DisplayChannel(void)