A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita audio rust zig deno mpris rockbox mpd

[Bugfix] Scroll engine, backwards scrolling causes display corruption

When a line is over a selected length bi-directional scrolling
is disabled.

In non bidir scrolling the string is copied to a buffer twice with
a space between "scroll text" + " " + "scroll text"

this is to allow scrolling the line in the forward direction
with minimal extra logic

Note: that is the ONLY direction it is equiped to handle

In the USB screen I observed while switching through the different modes
that sometimes the text was corrupted

turns out you can still have scroll->backwards set to true
which causes offset to go negatve but we never check if offset < 0
in non bidir scrolling mode and happily continue with ever more negative offsets

Change-Id: I210f7880be953d3cc42469828a7ca5fc2b2ab96f

authored by

William Wilgus and committed by
Solomon Peachy
fffae078 dec8d410

+1
+1
firmware/drivers/lcd-scroll.c
··· 148 148 } 149 149 else 150 150 { 151 + s->backward = false; /* bugfix we only account for forward scrolling here */ 151 152 snprintf(line_buf, sizeof(line_buf)-1, "%s%s%s", 152 153 s->linebuffer, " ", s->linebuffer); 153 154 s->line = line_buf;