From 196785ff054a3236747ac8ad0302300c052d377a Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Mon, 18 May 2020 16:47:29 +0200 Subject: Fixed a possible crash in case replay is started and stopped in rapid sequence --- player.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'player.c') diff --git a/player.c b/player.c index 5c95f4e4..ff54f495 100644 --- a/player.c +++ b/player.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: player.c 2.2 2012/04/28 11:52:50 kls Exp $ + * $Id: player.c 4.1 2020/05/18 16:47:29 kls Exp $ */ #include "player.h" @@ -70,16 +70,24 @@ cString cControl::GetHeader(void) return ""; } +#if DEPRECATED_CCONTROL cControl *cControl::Control(bool Hidden) { cMutexLock MutexLock(&mutex); return (control && (!control->hidden || Hidden)) ? control : NULL; } +#endif + +cControl *cControl::Control(cMutexLock &MutexLock, bool Hidden) +{ + MutexLock.Lock(&mutex); + return (control && (!control->hidden || Hidden)) ? control : NULL; +} void cControl::Launch(cControl *Control) { cMutexLock MutexLock(&mutex); - cControl *c = control; // keeps control from pointing to uninitialized memory + cControl *c = control; // keeps control from pointing to uninitialized memory TODO obsolete once DEPRECATED_CCONTROL is gone control = Control; delete c; } -- cgit v1.2.3