Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: Message does not clear after being displayed
"C.Y.M." wrote:
>
> Can anyone tell me why this snip of code does not clear in the OSD after it
> has been displayed?
The call to
Skins.Message(mtStatus, tr("scanning recordings..."));
sets the given message, either in an already opened display object,
or it creates a temporary message display object. The
Skins.Flush();
is superfluous, because cSkins::Message() already does this.
Since you have used 'mtStatus', the cSkins::Message() returns immediately
and leaves the message on the screen until a later explicit call to
Skins.Message(mtStatus, NULL);
which clears the status message and, if this was a temporyr display
object, also deletes that one.
If you want to display a message that automatically disappears after
the call, you should use either 'mtInfo' or 'mtError'.
> I can still see parts of "scanning recordings..."
> behind the color coded function keys in the menu.
This message is no longer issued since version 1.3.11, because the list
of recordings is now kept in memory. Besides, a problem with status messages
not being properly cleared has been fixed in version 1.3.12.
> I would assume that
> "Skins.Flush()" is supposed to remove the message,
No, Skins.Flush() just makes sure any modifications to the current OSD content
are written into the actual OSD and are displayed on the screen.
Klaus
> but it doesn't. Thanks.
>
> #if VDRVERSNUM >= 10307
> Skins.Message(mtStatus, tr("scanning recordings..."));
> Skins.Flush();
> #else
> Interface->Status(tr("scanning recordings..."));
> Interface->Flush();
> #endif
Home |
Main Index |
Thread Index