[vdr] [PATCH] fix segfault in cSkins::Message
Luca Olivetti
luca at ventoso.org
Sun Jul 31 18:01:50 CEST 2005
Klaus Schmidinger wrote:
> A plugin may well call Skins.Message(), but only from the _main_
> thread.
>
> I'm thinking about a function like
>
> cOsdObject *cPlugin::Popup(void);
>
> which would be called in every turn of the main loop (i.e. from the
> foreground thread) whenever there is no OSD display open. A plugin
> could either return a cOsdObject that will be presented to the user,
In this case the function wouldn't be called again, would it?
Isn't it possible to use Skins.Message even with an osd already open?
Maybe
cOsdObject *cPlugin::Popup(bool canpopup)
called regardless of an osd open (and canpopup set to false if the
plugin cannot create a cOsdObject)?
> or could directly display a message (even with user interaction, if
> necessary) and retrun NULL. Of course, if a plugin's thread wants to
> issue a message, it will have to store the message inside the plugin
> and wait until asked through a call to its Popup() function.
>
> Would that be a useful solution?
I think it would be useful. For example, I could use it in my actuator
plugin to show the dish position instead of patching vdr as I do now,
and as soon as the user presses a button I could close my cOsdObject and
reinject the key to vdr.
But it's not a complete solution, what if more than one plugin needs to
show something on screen? I reckon there's no simple solution to that,
but maybe the solution would be implementing something like the ttxsubs
or subtitles patches do (something like more than one osd opened at
once, with only the highest priority one actually shown), or some kind
of windowing system...I really don't know.
Bye
--
- Yo también quiero una Europa libre de Patentes de Software -
- I want a Software Patents Free Europe too! And you? -
---------------------------------------------------------------
EuropeSwPatentFree - http://EuropeSwPatentFree.hispalinux.es
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20050731/91cb82c3/signature-0001.pgp
More information about the vdr
mailing list