FS#10744 - Fuze: Last line of screen's pixels doesn't change when switching themes and using plugins

Attached to Project: Rockbox
Opened by David Thacker (epithetless) - Friday, 30 October 2009, 23:37 GMT
Last edited by Michael Chicoine (mc2739) - Saturday, 31 October 2009, 23:23 GMT
Task Type Bugs
Category User Interface
Status Closed
Assigned To No-one
Operating System Another
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


When selecting a new theme, opening a plugin, entering a plugin's menu, and exiting a plugin, the very bottom row of pixels on the Sansa Fuze's screen remains what it was on a previous screen. This line of pixels only refreshes to match the current screen once the WPS is entered or the backlight has turned off and is reactivated. It's quite possible this bug can be seen in other instances I haven't run across yet, and I suspect it affects the e200v2 as well.

Here's what I've been able to gather about its origins:

It first appeared between r23327 and r23331, most probably with the commit of r23329 ("Speed up lcd_update_rect by ~2.5% by counting towards 0 in the loop.."), since that was the only Fuze/e200v2 LCD-related commit at the time. Originally, this bug was accompanied by another one which caused any text line's bottom row of pixels to lag behind the rest of the text when it scrolled. That text-related bug was fixed with r23359 ("fix an off-by-one error in lcd_update_rect()"), but the stuck-last-line-of-screen-pixels bug remains (as of the current build, r23430).
This task depends upon

Closed by  Michael Chicoine (mc2739)
Saturday, 31 October 2009, 23:23 GMT
Reason for closing:  Fixed
Additional comments about closing:  In r23452
Comment by Michael Chicoine (mc2739) - Saturday, 31 October 2009, 15:38 GMT
Here is a patch that fixes the e200v2. Would you test on your fuze to see if it also fixes that?
Comment by David Thacker (epithetless) - Saturday, 31 October 2009, 20:02 GMT
My apologies, but I'm not practiced in compiling and applying patches at this point...and it may take me a while to get up to speed. If there are any other code-savvy Fuze users out there who can test that patch sooner, I would appreciate it.