From ac2c69ccae5db7d5e22acf976910cdf3be84fe5a Mon Sep 17 00:00:00 2001 From: Magnus Holmgren Date: Sun, 15 Aug 2010 07:08:23 +0000 Subject: Allow 'long' labels with single-argument %xd too. The label need to be at least 3 chars long (2 chars are treated as a single-letter-label image with a subimage). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27820 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_parser.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 8fca8724f6..68cb01470c 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -228,14 +228,15 @@ static int parse_image_display(struct skin_element *element, struct wps_data *wps_data) { char *label = element->params[0].data.text; - char sublabel = label[1]; + char sublabel = '\0'; int subimage; struct gui_img *img; struct image_display *id = skin_buffer_alloc(sizeof(struct image_display)); - if (element->params_count == 1) + if (element->params_count == 1 && strlen(label) <= 2) { /* backwards compatability. Allow %xd(Aa) to still work */ + sublabel = label[1]; label[1] = '\0'; } /* sanity check */ -- cgit v1.2.3