[vdr] cSkinSTTNGDisplayMenu::SetButtons overwrites the message
set via SetMessage
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Sun Aug 7 18:10:40 CEST 2005
Luca Olivetti wrote:
> Klaus Schmidinger wrote:
>
>> Luca Olivetti wrote:
>>
>>> As the subject says. ST:TNG is the only skin where this happens,
>>> since it shares the same line for both things. And you can see the
>>> "remains" of the message in the space between each button.
>>> Maybe I'm wrong, but I shouldn't be forced to stop calling SetButtons
>>> if there's a message active (at least if I repeatedly[*] call
>>> SetButtons after calling SetMessage it works fine with every other
>>> skin).
>>>
>>> [*] I change the help at each screen refresh based on the menu
>>> selection, while I only need to show a message from time to time.
>>
>>
>>
>> Well, I can check 'message' in cSkinSTTNGDisplayMenu::SetButtons(),
>> and not set the buttons if it is true, but that will result in the
>> buttons having their _old_ values after the message disappears.
>
>
> And restoring the buttons in SetMessage would completely solve the
> problem, thanks ;-)
>
>>
>> Generally the buttons are not supposed to be changed while a message
>> is being displayed. Ok, I haven't written that anywhere explicitly,
>> but that's how it's meant, so I can add that remark if you like.
>
>
> Well, of 7 skins I tried (5 of them text2skin), the only one that didn't
> work was ST:TNG, so I suppose that's the one that is not working
> according to the specs.
Well, since it's me who writes the specs <g> I'll specify it so
that "a skin shall not call SetButtons() while a message is being displayed".
That's because while there is a message on the screen, the user shall
not be distracted by anything else wobbling around on the screen.
Klaus
More information about the vdr
mailing list