FS#12606 - UI Viewport disappears when the player skips to the next track

Attached to Project: Rockbox
Opened by Ludovic Jacques (lebellium) - Sunday, 04 March 2012, 12:54 GMT
Last edited by Jonathan Gordon (jdgordon) - Tuesday, 20 March 2012, 11:13 GMT
Task Type Bugs
Category Themes
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


With the latest builds (46b34da on my YP-R0 and 9476883 on the Gigabeat UI simulator), it seems that if you are in the menus when the player skips to the next track, the UI viewport disappears for an unknown reason until you press any key (then it reappears).

For example that occurs with my 240*320 non-touch theme (you can download it in attachment)
Here is a simplified SBS from this theme to help identify the issue.


It might be related to the new layering (%VB tag)
This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Tuesday, 20 March 2012, 11:13 GMT
Reason for closing:  Fixed
Additional comments about closing:  fixed in 94139ac. Annoyingly stuffed up th eorigional patch by putting half in a #if 0 :/
Comment by Ludovic Jacques (lebellium) - Tuesday, 06 March 2012, 09:06 GMT
It seems the UI viewport also disappears when adding a song from the database into the current playlist.
Comment by Jonathan Gordon (jdgordon) - Monday, 12 March 2012, 09:33 GMT
Ok I have a fix for this but its really not optimal so I'm going to keep thinking about it.
The general problem is that the screens are not doing a full redraw like they should when the track updates. I guess the bigger issue is why does the UI view port get cleared when it probably doesn't need to.
Comment by Jonathan Gordon (jdgordon) - Wednesday, 14 March 2012, 11:39 GMT is my work to fix this. It works for screens which use a list for the whole ui (i.e menu, browsers) but not for the quickscreen, pitchscreen, etc).
Comment by Jonathan Gordon (jdgordon) - Thursday, 15 March 2012, 00:32 GMT
hmm, OK, apparently that fix broke things worse :/
Comment by Thomas Martitz (kugel.) - Monday, 19 March 2012, 22:26 GMT
Would not clearing the entire display but only the viewports that belong to the skin (all except %Vi) work?
Comment by Jonathan Gordon (jdgordon) - Monday, 19 March 2012, 23:16 GMT
It might for for specific themes, but not as a general fix. There are a few problems with doing that:
1) the skin might not have a viewport for every pixel on the screen, so not clearing the full screen would mean some areas wont be redrawn (which might not an issue)
2) Any theme using the background layer requires a full screen viewport on the top layer of you get black areas, this needs to be cleared fully incase the background layer changes.