diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/lcd.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/firmware/drivers/lcd.c b/firmware/drivers/lcd.c index 9389caafbd..b7e4cc70fa 100644 --- a/firmware/drivers/lcd.c +++ b/firmware/drivers/lcd.c | |||
@@ -780,15 +780,16 @@ void lcd_puts_scroll(int x, int y, char* string ) | |||
780 | s->space = (LCD_WIDTH - xmargin - x) / width; | 780 | s->space = (LCD_WIDTH - xmargin - x) / width; |
781 | #endif | 781 | #endif |
782 | lcd_puts(x,y,string); | 782 | lcd_puts(x,y,string); |
783 | s->offset=0; | ||
784 | s->xpos=x; | ||
785 | s->startx=x; | ||
786 | s->starty=y; | ||
787 | s->textlen = strlen(string); | 783 | s->textlen = strlen(string); |
788 | strncpy(s->text,string,sizeof s->text); | 784 | if ( s->textlen > s->space ) { |
789 | s->text[sizeof s->text - 1] = 0; | 785 | s->offset=0; |
790 | 786 | s->xpos=x; | |
791 | scroll_count = 1; | 787 | s->startx=x; |
788 | s->starty=y; | ||
789 | strncpy(s->text,string,sizeof s->text); | ||
790 | s->text[sizeof s->text - 1] = 0; | ||
791 | scroll_count = 1; | ||
792 | } | ||
792 | } | 793 | } |
793 | 794 | ||
794 | void lcd_stop_scroll(void) | 795 | void lcd_stop_scroll(void) |