From b5aceb8d2b2c60e8a00c0b27271652256119b8f3 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Mon, 26 Aug 2002 10:30:11 +0000 Subject: Propfont fix/kludge for the scroll code. Now doesn't garble the line and should start scrolling the lines that need it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1981 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/lcd.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'firmware') diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c index 4c36ee19e3..4d805b2506 100644 --- a/firmware/drivers/lcd.c +++ b/firmware/drivers/lcd.c @@ -1282,13 +1282,24 @@ void lcd_puts_scroll(int x, int y, unsigned char* string ) lcd_puts(x,y,string); s->textlen = strlen(string); + + +#if defined(LCD_PROPFONTS) || defined(LOADABLE_FONTS) + s->space += 2; + lcd_getstringsize(string,0,&w,&h); + if ( w > LCD_WIDTH - xmargin ) { +#else if ( s->textlen > s->space ) { +#endif s->offset=s->space; s->startx=x; s->starty=y; strncpy(s->text,string,sizeof s->text); s->text[sizeof s->text - 1] = 0; - strncpy(s->line,string,sizeof s->line); + memset(s->line, 0, sizeof s->line); + strncpy(s->line,string, + s->space > (int)sizeof s->line ? + (int)sizeof s->line : s->space ); s->line[sizeof s->line - 1] = 0; scroll_count = 1; } -- cgit v1.2.3