summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2013-12-23 20:25:01 +0100
committerThomas Martitz <kugel@rockbox.org>2013-12-23 20:25:34 +0100
commitd2ae832eef3e91c1a188b697d88ea6cffab0b6bf (patch)
tree489735b394396787f032c3b8b90ed67343355c16
parentca423ed0e317645c8febb8dc604743f0fd47139a (diff)
downloadrockbox-d2ae832eef3e91c1a188b697d88ea6cffab0b6bf.tar.gz
rockbox-d2ae832eef3e91c1a188b697d88ea6cffab0b6bf.zip
lcd: Fix scrolling.
Change-Id: I1f8d3d67b224c1c531438b94e3aab640b76770be
-rw-r--r--firmware/drivers/lcd-bitmap-common.c7
1 files 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,
430 xpos = x; 430 xpos = x;
431 ypos = y; 431 ypos = y;
432 } 432 }
433 LCDFN(scroll_stop_viewport_rect)(current_vp, x, y, current_vp->width - x, h); 433 LCDFN(scroll_stop_viewport_rect)(current_vp, xpos, ypos, current_vp->width - xpos, h);
434 LCDFN(putsxyofs_style)(xpos, ypos+y_offset, str, style, h, x_offset); 434 LCDFN(putsxyofs_style)(xpos, ypos+y_offset, str, style, h, x_offset);
435} 435}
436 436
@@ -495,7 +495,7 @@ static void LCDFN(puts_scroll_worker)(int x, int y, const unsigned char *string,
495{ 495{
496 struct scrollinfo* s; 496 struct scrollinfo* s;
497 int width, height; 497 int width, height;
498 int w, h, cwidth, margin; 498 int w, h, cwidth;
499 bool restart; 499 bool restart;
500 500
501 if (!string) 501 if (!string)
@@ -529,8 +529,7 @@ static void LCDFN(puts_scroll_worker)(int x, int y, const unsigned char *string,
529 529
530 /* check if scrolling is actually necessary (consider the actual start 530 /* check if scrolling is actually necessary (consider the actual start
531 * of the line) */ 531 * of the line) */
532 margin = x * linebased ? cwidth : 1; 532 if (width >= w)
533 if (current_vp->width >= margin+w)
534 return; 533 return;
535 534
536 if (restart) { 535 if (restart) {