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)