From 2781c337b18f80fc7e9a16c65064c4ef2a47b147 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Tue, 13 Mar 2012 15:30:47 +0100 Subject: [PATCH] No longer using GetFont() (which is not thread safe) in cSubtitleRegion::UpdateTextData() --- HISTORY | 1 + dvbsubtitle.c | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/HISTORY b/HISTORY index 7ba33981..7067c91b 100644 --- a/HISTORY +++ b/HISTORY @@ -7041,3 +7041,4 @@ Video Disk Recorder Revision History existing recordings is now taken into account. If this value can't be determined, the previous value of 25.75 MB/min is taken. - No longer using GetFont() (which is not thread safe) in the 'osddemo' plugin. +- No longer using GetFont() (which is not thread safe) in cSubtitleRegion::UpdateTextData(). diff --git a/dvbsubtitle.c b/dvbsubtitle.c index 9718a5c5..a623df2f 100644 --- a/dvbsubtitle.c +++ b/dvbsubtitle.c @@ -7,7 +7,7 @@ * Original author: Marco Schluessler * With some input from the "subtitle plugin" by Pekka Virtanen * - * $Id: dvbsubtitle.c 2.28 2012/03/11 13:34:03 kls Exp $ + * $Id: dvbsubtitle.c 2.29 2012/03/13 15:30:47 kls Exp $ */ @@ -491,13 +491,14 @@ void cSubtitleRegion::UpdateTextData(cSubtitleClut *Clut) const cPalette *palette = Clut ? Clut->GetPalette(Depth()) : NULL; for (cSubtitleObject *so = objects.First(); so && palette; so = objects.Next(so)) { if (Utf8StrLen(so->TextData()) > 0) { - const cFont *font = cFont::GetFont(fontOsd); + cFont *font = cFont::CreateFont(Setup.FontOsd, Setup.FontOsdSize); cBitmap *tmp = new cBitmap(font->Width(so->TextData()), font->Height(), Depth()); double factor = (double)lineHeight / font->Height(); tmp->DrawText(0, 0, so->TextData(), palette->Color(so->ForegroundPixelCode()), palette->Color(so->BackgroundPixelCode()), font); tmp = tmp->Scaled(factor, factor, true); DrawBitmap(so->X(), so->Y(), *tmp); DELETENULL(tmp); + delete font; } } }