On Donnerstag, 30. Juni 2005 17:43, Klaus Schmidinger wrote: > 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). Is there another way for a plugin to display a message during background processing ? Preferably a _non_ blocking way,as I noticed that Skins.Message() does it's job blocking. -- Stefan Lucke