diff options
| author | Thomas Martitz <kugel@rockbox.org> | 2014-01-09 23:21:33 +0100 |
|---|---|---|
| committer | Thomas Martitz <kugel@rockbox.org> | 2014-01-09 23:28:33 +0100 |
| commit | 99f3f77ee87ad06e0d5a7572c2ebaaf76c526ac1 (patch) | |
| tree | 04eb5b6097b7a0636c88a0d044584d634be4132f /apps | |
| parent | 7ba2d0160b6b4bfd68fc1d0819858f7138e2d1d4 (diff) | |
| download | rockbox-99f3f77ee87ad06e0d5a7572c2ebaaf76c526ac1.zip rockbox-99f3f77ee87ad06e0d5a7572c2ebaaf76c526ac1.tar.gz rockbox-99f3f77ee87ad06e0d5a7572c2ebaaf76c526ac1.tar.bz2 rockbox-99f3f77ee87ad06e0d5a7572c2ebaaf76c526ac1.tar.xz | |
skin_engine: Pass string to put_line() via $t because they can be very large.
Change-Id: I02d6bf492bb42e173a7b436427e3cc3560d80183
Diffstat (limited to 'apps')
| -rwxr-xr-x | apps/gui/skin_engine/skin_display.c | 10 |
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 c2ede75..82eaa1f 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); } } |