summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2014-01-09 23:21:33 +0100
committerThomas Martitz <kugel@rockbox.org>2014-01-09 23:28:33 +0100
commit99f3f77ee87ad06e0d5a7572c2ebaaf76c526ac1 (patch)
tree04eb5b6097b7a0636c88a0d044584d634be4132f
parent7ba2d0160b6b4bfd68fc1d0819858f7138e2d1d4 (diff)
downloadrockbox-99f3f77.tar.gz
rockbox-99f3f77.tar.bz2
rockbox-99f3f77.zip
skin_engine: Pass string to put_line() via $t because they can be very large.
Change-Id: I02d6bf492bb42e173a7b436427e3cc3560d80183
-rwxr-xr-xapps/gui/skin_engine/skin_display.c10
1 files 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);
}
}