diff -Nru vdr-1.6.0-vanilla/config.h vdr-1.6.0-yaepghd/config.h --- vdr-1.6.0-vanilla/config.h 2008-03-23 12:26:10.000000000 +0200 +++ vdr-1.6.0-yaepghd/config.h 2009-01-24 23:34:01.000000000 +0200 @@ -30,6 +30,8 @@ #define APIVERSION "1.6.0" #define APIVERSNUM 10600 // Version * 10000 + Major * 100 + Minor +#define YAEPGHDVERSNUM 2 + // When loading plugins, VDR searches them by their APIVERSION, which // may be smaller than VDRVERSION in case there have been no changes to // VDR header files since the last APIVERSION. This allows compiled diff -Nru vdr-1.6.0-vanilla/dvbosd.c vdr-1.6.0-yaepghd/dvbosd.c --- vdr-1.6.0-vanilla/dvbosd.c 2007-09-16 11:55:54.000000000 +0300 +++ vdr-1.6.0-yaepghd/dvbosd.c 2009-01-24 23:40:51.000000000 +0200 @@ -53,6 +53,10 @@ osdMem = cap.val; #endif } + if (vidWin.bpp != 0) { + Cmd(OSD_SetWindow, 0, 5); + Cmd(OSD_Close); + } } cDvbOsd::~cDvbOsd() @@ -198,6 +202,10 @@ Cmd(OSD_SetWindow, 0, i + 1); Cmd(OSD_MoveWindow, 0, Left() + Bitmap->X0(), Top() + Bitmap->Y0()); } + if (vidWin.bpp != 0) { + Cmd(OSD_SetWindow, 0, 5); + Cmd(OSD_OpenRaw, vidWin.bpp, vidWin.x1, vidWin.y1, vidWin.x2, vidWin.y2, NULL); + } shown = true; } } diff -Nru vdr-1.6.0-vanilla/osd.c vdr-1.6.0-yaepghd/osd.c --- vdr-1.6.0-vanilla/osd.c 2007-10-12 15:38:36.000000000 +0300 +++ vdr-1.6.0-yaepghd/osd.c 2009-01-24 23:34:01.000000000 +0200 @@ -730,6 +730,7 @@ width = height = 0; level = Level; active = false; + vidWin.bpp = 0; for (int i = 0; i < Osds.Size(); i++) { if (Osds[i]->level > level) { Osds.Insert(this, i); diff -Nru vdr-1.6.0-vanilla/osd.h vdr-1.6.0-yaepghd/osd.h --- vdr-1.6.0-vanilla/osd.h 2007-10-12 17:28:44.000000000 +0300 +++ vdr-1.6.0-yaepghd/osd.h 2009-01-24 23:46:35.000000000 +0200 @@ -269,6 +269,8 @@ int left, top, width, height; uint level; bool active; +public: + tArea vidWin; protected: cOsd(int Left, int Top, uint Level); ///< Initializes the OSD with the given coordinates.