From 99f3f77ee87ad06e0d5a7572c2ebaaf76c526ac1 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Thu, 9 Jan 2014 23:21:33 +0100 Subject: skin_engine: Pass string to put_line() via $t because they can be very large. Change-Id: I02d6bf492bb42e173a7b436427e3cc3560d80183 --- apps/gui/skin_engine/skin_display.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c index c2ede75e16..82eaa1f553 100755 --- a/apps/gui/skin_engine/skin_display.c +++ b/apps/gui/skin_engine/skin_display.c @@ -509,8 +509,10 @@ void write_line(struct screen *display, struct align_pos *format_align, (center_width > scroll_width) || (right_width > scroll_width))) { + /* strings can be as large as MAX_LINE which exceeds put_lines() + * limit for inline strings. Use $t to avoid truncation */ linedes->scroll = true; - display->put_line(0, line * string_height, linedes, (unsigned char *)format_align->left); + display->put_line(0, line * string_height, linedes, "$t", format_align->left); } else { @@ -532,13 +534,13 @@ void write_line(struct screen *display, struct align_pos *format_align, #endif /* print aligned strings */ if (left_width != 0) - display->put_line(0, line, linedes, format_align->left); + display->put_line(0, line, linedes, "$t", format_align->left); if (center_width != 0) - display->put_line(center_xpos, line, linedes, format_align->center); + display->put_line(center_xpos, line, linedes, "$t", format_align->center); if (right_width != 0) - display->put_line(right_xpos, line, linedes, format_align->right); + display->put_line(right_xpos, line, linedes, "$t", format_align->right); } } -- cgit v1.2.3