summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/lcd-charcell.c2
-rw-r--r--firmware/export/lcd.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/firmware/drivers/lcd-charcell.c b/firmware/drivers/lcd-charcell.c
index ce0eca9..e68b35a 100644
--- a/firmware/drivers/lcd-charcell.c
+++ b/firmware/drivers/lcd-charcell.c
@@ -520,7 +520,7 @@ void lcd_puts_scroll_offset(int x, int y, const unsigned char *string,
}
end = strchr(s->line, '\0');
- strncpy(end, string, LCD_WIDTH);
+ strncpy(end, string, utf8seek(s->line, LCD_WIDTH));
s->offset = offset;
s->startx = xmargin + x;
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h
index 0d56389..48de53a 100644
--- a/firmware/export/lcd.h
+++ b/firmware/export/lcd.h
@@ -382,9 +382,9 @@ extern void lcd_bitmap_transparent(const fb_data *src, int x, int y,
/* internal usage, but in multiple drivers */
#define SCROLL_SPACING 3
#ifdef HAVE_LCD_BITMAP
-#define SCROLL_LINE_SIZE (MAX_PATH + LCD_WIDTH/2 + SCROLL_SPACING + 2)
+#define SCROLL_LINE_SIZE (MAX_PATH + SCROLL_SPACING + 3*LCD_WIDTH/2 + 2)
#else
-#define SCROLL_LINE_SIZE (MAX_PATH + LCD_WIDTH + SCROLL_SPACING + 2)
+#define SCROLL_LINE_SIZE (MAX_PATH + SCROLL_SPACING + 3*LCD_WIDTH + 2)
#endif
struct scrollinfo {