Hi,
I'm trying to display an OSD message from a separate thread within a plugin to indicate when some background action has finished. The message should pop up no matter if there's currently an OSD displayed or not. So SVDRP MESG is no solution, since this will only appear when leaving the OSD.
I tried it with the new service interface. The thread calls a service of the plugin passing the message. The service itself calls
Skins.Message(serviceData->type, serviceData->message);
This works fine, but sometimes crashes VDR in cSkins::Message. I've found a way to reproduce it: When the main menu is displayed and the message pops up then pressing BACK while the message still is displayed crashes VDR. In this case the problem is that in
cSkinDisplay::Current()->SetMessage(Type, NULL);
cSkinDisplay::Current() is NULL. Don't know if this is a bug or just the result of my wrong usage ;-) Is there any other way to display a message from a thread?
BR,
Christian