From d2ae832eef3e91c1a188b697d88ea6cffab0b6bf Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Mon, 23 Dec 2013 20:25:01 +0100 Subject: lcd: Fix scrolling. Change-Id: I1f8d3d67b224c1c531438b94e3aab640b76770be --- firmware/drivers/lcd-bitmap-common.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c index f3e700a4a1..d8417e13e2 100644 --- a/firmware/drivers/lcd-bitmap-common.c +++ b/firmware/drivers/lcd-bitmap-common.c @@ -430,7 +430,7 @@ void LCDFN(puts_style_xyoffset)(int x, int y, const unsigned char *str, xpos = x; ypos = y; } - LCDFN(scroll_stop_viewport_rect)(current_vp, x, y, current_vp->width - x, h); + LCDFN(scroll_stop_viewport_rect)(current_vp, xpos, ypos, current_vp->width - xpos, h); LCDFN(putsxyofs_style)(xpos, ypos+y_offset, str, style, h, x_offset); } @@ -495,7 +495,7 @@ static void LCDFN(puts_scroll_worker)(int x, int y, const unsigned char *string, { struct scrollinfo* s; int width, height; - int w, h, cwidth, margin; + int w, h, cwidth; bool restart; if (!string) @@ -529,8 +529,7 @@ static void LCDFN(puts_scroll_worker)(int x, int y, const unsigned char *string, /* check if scrolling is actually necessary (consider the actual start * of the line) */ - margin = x * linebased ? cwidth : 1; - if (current_vp->width >= margin+w) + if (width >= w) return; if (restart) { -- cgit v1.2.3