forked from len0rd/rockbox
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
This commit is contained in:
parent
44b9785465
commit
9549ddabba
4 changed files with 4 additions and 4 deletions
|
@ -203,7 +203,7 @@ void LCDFN(clear_display)(void)
|
||||||
unsigned bits = (CURRENT_VP->drawmode & DRMODE_INVERSEVID) ? 0xFFu : 0;
|
unsigned bits = (CURRENT_VP->drawmode & DRMODE_INVERSEVID) ? 0xFFu : 0;
|
||||||
|
|
||||||
memset(LCDFB(0, 0), bits, FBSIZE);
|
memset(LCDFB(0, 0), bits, FBSIZE);
|
||||||
LCDFN(scroll_info).lines = 0;
|
LCDFN(scroll_stop)();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a horizontal line (optimised) */
|
/* Draw a horizontal line (optimised) */
|
||||||
|
|
|
@ -345,7 +345,7 @@ void lcd_clear_display(void)
|
||||||
memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE);
|
memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
lcd_scroll_info.lines = 0;
|
lcd_scroll_stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a horizontal line (optimised) */
|
/* Draw a horizontal line (optimised) */
|
||||||
|
|
|
@ -347,7 +347,7 @@ void lcd_clear_display(void)
|
||||||
memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE);
|
memset(FBADDR(0,0), bg_pattern, FRAMEBUFFER_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
lcd_scroll_info.lines = 0;
|
lcd_scroll_stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a horizontal line (optimised) */
|
/* Draw a horizontal line (optimised) */
|
||||||
|
|
|
@ -380,7 +380,7 @@ void LCDFN(clear_display)(void)
|
||||||
FBSIZE);
|
FBSIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
LCDFN(scroll_info).lines = 0;
|
LCDFN(scroll_stop)();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a horizontal line (optimised) */
|
/* Draw a horizontal line (optimised) */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue