Fixed a race condition in the SPU decoder

This commit is contained in:
Klaus Schmidinger
2005-11-05 12:12:18 +01:00
parent 9607fd33a0
commit 596e965a53
4 changed files with 8 additions and 3 deletions

View File

@@ -8,7 +8,7 @@
*
* parts of this file are derived from the OMS program.
*
* $Id: dvbspu.c 1.16 2005/11/04 14:19:07 kls Exp $
* $Id: dvbspu.c 1.17 2005/11/05 12:08:15 kls Exp $
*/
#include <assert.h>
@@ -338,6 +338,7 @@ sDvbSpuRect cDvbSpuDecoder::CalcAreaSize(sDvbSpuRect fgsize, cBitmap *fgbmp, sDv
void cDvbSpuDecoder::Draw(void)
{
cMutexLock MutexLock(&mutex);
if (!spubmp) {
Hide();
return;
@@ -390,6 +391,7 @@ void cDvbSpuDecoder::Draw(void)
void cDvbSpuDecoder::Hide(void)
{
cMutexLock MutexLock(&mutex);
delete osd;
osd = NULL;
}