summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/lcd-charcell.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/firmware/drivers/lcd-charcell.c b/firmware/drivers/lcd-charcell.c
index 46c48bb726..b1f0021ff7 100644
--- a/firmware/drivers/lcd-charcell.c
+++ b/firmware/drivers/lcd-charcell.c
@@ -354,7 +354,7 @@ void lcd_clear_display(void)
354 int x, y; 354 int x, y;
355 struct viewport* old_vp = current_vp; 355 struct viewport* old_vp = current_vp;
356 356
357 lcd_scroll_info.lines = 0; 357 lcd_scroll_stop();
358 lcd_remove_cursor(); 358 lcd_remove_cursor();
359 359
360 /* Set the default viewport - required for lcd_putxchar */ 360 /* Set the default viewport - required for lcd_putxchar */
@@ -578,6 +578,10 @@ bool lcd_putsxy_scroll_func(int x, int y, const unsigned char *string,
578 578
579static void lcd_scroll_fn(struct scrollinfo* s) 579static void lcd_scroll_fn(struct scrollinfo* s)
580{ 580{
581 /* with line == NULL when scrolling stops. This scroller
582 * maintains no userdata so there is nothing left to do */
583 if (!s->line)
584 return;
581 lcd_putsxyofs(s->x, s->y, s->offset, s->line); 585 lcd_putsxyofs(s->x, s->y, s->offset, s->line);
582 if (lcd_cursor.enabled) 586 if (lcd_cursor.enabled)
583 { 587 {