[vdr] [PATCH] fix segfault in cSkins::Message
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Thu Jun 30 17:43:25 CEST 2005
Wolfgang Rohdewald wrote:
> On Donnerstag 30 Juni 2005 16:53, Klaus Schmidinger wrote:
>
>>IIRC we already had this discussion some time ago.
>>The point is that you're not supposed to call any of the skin
>>functions from a thread. These functions are only supposed to be called
>>by VDR itself.
>
>
> how else can a plugin display a message or ask a question? since
> cInterface::Confirm() also calls Skins.Message(), I suppose Confirm()
> is also illegal for plugins?
>
> this is how muggle has always been doing this:
>
> #if VDRVERSNUM >= 10307
> Skins.Message (mtInfo, buffer,duration);
> Skins.Flush ();
> #else
> Interface->Status (buffer);
> Interface->Flush ();
> #endif
>
> and
>
> if (!Interface->Confirm(tr("Import items?")))
> return false;
Sorry, I was a little too vague here.
What I meant to say was that these functions shall only be called
from the _foreground_ thread (the one that VDR's main loop runs in).
Klaus
More information about the vdr
mailing list