Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: Problems with subtitles (problem solved)
On Fri, 24 Sep 2004 20:31:50 +0300 (EEST)
Lollero <lollero@rrsite.com> wrote:
> On Fri, 24 Sep 2004, Timo Laitinen wrote:
>
> > On Thu, 16 Sep 2004 18:52:10 +0300
> > Timo Laitinen <timolai@utu.fi> wrote:
> >
> >
> > > problem? I've applied the DVBsubs.patch (which had a couple of
> > > resolvable conflicts, hopefully correctly...).
> >
> > Hrm... Problem solved: I didn't resolve the conflicts correctly...
> > works now.
> >
> > Best Regards,
> >
> > Timo
>
> I have the same probem.
> Can you provide working patch, or describe how those conflicts should
> be resolved?
>
Sure. In osd.h there was a minor glitch, the cOsd is now protected. Just
add
static bool niosd;
to the public section after it.
In file osd.c, the location of the new bit is crucial. I put it after
the new "if (cOsd::IsOpen())" block first... so it returned NULL.
The function in question, cOsdProvider::NewOsd, should look like this:
----------------------
cOsd *cOsdProvider::NewOsd(int Left, int Top, bool dontHide)
{
// This is the patch bit
if (!dontHide)
NonInteractiveOsdPatch::OsdController.Hide();
cOsd::niosd = dontHide;
// The patch bit ends here. The next block wasn't in the version the
// patch was made against.
if (cOsd::IsOpen()) {
esyslog("ERROR: attempt to open OSD while it is already open!");
return NULL;
}
if (osdProvider)
return osdProvider->CreateOsd(Left, Top);
esyslog("ERROR: no OSD provider available - using dummy OSD!");
return new cOsd(Left, Top); // create a dummy cOsd, so that access
//won't result in a segfault
}
------------------------
(my email program folded the last comment, so it looks different from
the original)
Best Regards,
Timo
Home |
Main Index |
Thread Index