diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-10-02 01:35:06 +0100 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-10-12 07:58:57 -0400 |
commit | 9549ddabba292f904769437098817dd158c76f49 (patch) | |
tree | a88769892a5da797003e664ffccea12c2240ad90 /firmware/drivers | |
parent | 44b9785465fcb96f7544576b7657a47813625a01 (diff) | |
download | rockbox-9549ddabba292f904769437098817dd158c76f49.tar.gz rockbox-9549ddabba292f904769437098817dd158c76f49.zip |
lcd: Fix bug in grayscale clear_display() implementation
clear_display() on grayscale LCDs sets the number of scrolling
lines to 0 but that's wrong, the scollers need to be shut down
first. Call scroll_stop() for that, as is done on color LCDs.
Change-Id: I75fb6839ed04f6fe1eb8e2855c8db820fcedddb8
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/lcd-1bit-vert.c | 2 | ||||
-rw-r--r-- | firmware/drivers/lcd-2bit-horz.c | 2 | ||||
-rw-r--r-- | firmware/drivers/lcd-2bit-vert.c | 2 | ||||
-rw-r--r-- | firmware/drivers/lcd-2bit-vi.c | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/firmware/drivers/lcd-1bit-vert.c b/firmware/drivers/lcd-1bit-vert.c index accce026cd..77eb4ab2a1 100644 --- a/firmware/drivers/lcd-1bit-vert.c +++ b/firmware/drivers/lcd-1bit-vert.c | |||
@@ -203,7 +203,7 @@ void LCDFN(clear_display)(void) | |||
203 | unsigned bits = (CURRENT_VP->drawmode & DRMODE_INVERSEVID) ? 0xFFu : 0; | 203 | unsigned bits = (CURRENT_VP->drawmode & DRMODE_INVERSEVID) ? 0xFFu : 0; |
204 | 204 | ||
205 | memset(LCDFB(0, 0), bits, FBSIZE); | 205 | memset(LCDFB(0, 0), bits, FBSIZE); |
206 | LCDFN(scroll_info).lines = 0; | 206 | LCDFN(scroll_stop)(); |
207 | } | 207 | } |
208 | 208 | ||
209 | /* Draw a horizontal line (optimised) */ | 209 | /* Draw a horizontal line (optimised) */ |
diff --git a/firmware/drivers/lcd-2bit-horz.c b/firmware/drivers/lcd-2bit-horz.c index b8ebaff7e1..abe7443e01 100644 --- a/firmware/drivers/lcd-2bit-horz.c +++ b/firmware/drivers/lcd-2bit-horz.c | |||
@@ -345,7 +345,7 @@ void lcd_clear_display(void) | |||
345 | memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE); | 345 | memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE); |
346 | } | 346 | } |
347 | 347 | ||
348 | lcd_scroll_info.lines = 0; | 348 | lcd_scroll_stop(); |
349 | } | 349 | } |
350 | 350 | ||
351 | /* Draw a horizontal line (optimised) */ | 351 | /* Draw a horizontal line (optimised) */ |
diff --git a/firmware/drivers/lcd-2bit-vert.c b/firmware/drivers/lcd-2bit-vert.c index 9856b28819..6ea367e695 100644 --- a/firmware/drivers/lcd-2bit-vert.c +++ b/firmware/drivers/lcd-2bit-vert.c | |||
@@ -347,7 +347,7 @@ void lcd_clear_display(void) | |||
347 | memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE); | 347 | memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE); |
348 | } | 348 | } |
349 | 349 | ||
350 | lcd_scroll_info.lines = 0; | 350 | lcd_scroll_stop(); |
351 | } | 351 | } |
352 | 352 | ||
353 | /* Draw a horizontal line (optimised) */ | 353 | /* Draw a horizontal line (optimised) */ |
diff --git a/firmware/drivers/lcd-2bit-vi.c b/firmware/drivers/lcd-2bit-vi.c index d621951c78..5c615c4c9e 100644 --- a/firmware/drivers/lcd-2bit-vi.c +++ b/firmware/drivers/lcd-2bit-vi.c | |||
@@ -380,7 +380,7 @@ void LCDFN(clear_display)(void) | |||
380 | FBSIZE); | 380 | FBSIZE); |
381 | } | 381 | } |
382 | 382 | ||
383 | LCDFN(scroll_info).lines = 0; | 383 | LCDFN(scroll_stop)(); |
384 | } | 384 | } |
385 | 385 | ||
386 | /* Draw a horizontal line (optimised) */ | 386 | /* Draw a horizontal line (optimised) */ |