diff --unified -r1.1.2.17 dxr3osd_subpicture.c --- dxr3osd_subpicture.c 3 Sep 2007 20:24:51 -0000 1.1.2.17 +++ dxr3osd_subpicture.c 23 Nov 2007 00:01:08 -0000 @@ -117,6 +117,15 @@ return Result; } +eOsdError cDxr3SubpictureOsd::SetAreas(const tArea *Areas, int NumAreas) +{ + if (shown) { + Spu->Clear(); + shown = false; + } + return cOsd::SetAreas(Areas, NumAreas); +} + // ================================== void cDxr3SubpictureOsd::Flush() { diff --unified -r1.1.2.15 dxr3osd_subpicture.h --- dxr3osd_subpicture.h 3 Sep 2007 20:24:51 -0000 1.1.2.15 +++ dxr3osd_subpicture.h 23 Nov 2007 00:01:08 -0000 @@ -26,7 +26,7 @@ ~cDxr3SubpictureOsd(); eOsdError CanHandleAreas(const tArea *Areas, int NumAreas); - + eOsdError SetAreas(const tArea *Areas, int NumAreas); void Flush(); };