summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2007-10-30 20:33:34 +0000
committerphintuka <phintuka>2007-10-30 20:33:34 +0000
commit722895a1f8d9e65039c6e2dd6fbf3bdaa6c3f177 (patch)
tree9c5e289a41f03fdc3e61766c9bb2b14135c49826
parente6d6066acc23c892b00cc7323e5c83a6c1a85980 (diff)
downloadxineliboutput-722895a1f8d9e65039c6e2dd6fbf3bdaa6c3f177.tar.gz
xineliboutput-722895a1f8d9e65039c6e2dd6fbf3bdaa6c3f177.tar.bz2
Fix SetAreas(): old windows must be closed (window count can be changed).
This should fix old subtitles shown under new ones with vdr-1.5.10. (Thanks to Petri Helin)
-rw-r--r--osd.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/osd.c b/osd.c
index 8a6840d7..9b9c8ab1 100644
--- a/osd.c
+++ b/osd.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c,v 1.11 2007-10-30 20:30:23 phintuka Exp $
+ * $Id: osd.c,v 1.12 2007-10-30 20:33:34 phintuka Exp $
*
*/
@@ -222,9 +222,11 @@ eOsdError cXinelibOsd::SetAreas(const tArea *Areas, int NumAreas)
TRACEF("cXinelibOsd::SetAreas");
cMutexLock ml(&m_Lock);
+ LOGOSD("cXinelibOsd::SetAreas, m_Shown = %s", m_Shown ? "true" : "false");
+
+ CloseWindows();
+
eOsdError Result = cOsd::SetAreas(Areas, NumAreas);
- if(Result == oeOk)
- m_Shown = false;
if(Left() + Width() > 720 || Top() + Height() > 576) {
LOGDBG("Detected HD OSD, size > %dx%d, using setup values %dx%d",
@@ -242,7 +244,6 @@ eOsdError cXinelibOsd::CanHandleAreas(const tArea *Areas, int NumAreas)
{
TRACEF("cXinelibOsd::CanHandleAreas");
- m_Shown = false;
eOsdError Result = cOsd::CanHandleAreas(Areas, NumAreas);
if (Result == oeOk) {
if (NumAreas > MAX_OSD_OBJECT)