[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