summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/skin_engine/skin_parser.c2
-rw-r--r--apps/gui/skin_engine/wps_debug.c22
2 files changed, 16 insertions, 8 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index e2f7f5363c..a6d595db53 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -538,7 +538,7 @@ static int parse_image_display(const char *wps_bufptr,
img = find_image(label, wps_data);
if (!img)
{
- token->value.i = label; /* do debug works */
+ token->value.i = label; /* so debug works */
return WPS_ERROR_INVALID_PARAM;
}
diff --git a/apps/gui/skin_engine/wps_debug.c b/apps/gui/skin_engine/wps_debug.c
index db8aa7759e..64a68b05d6 100644
--- a/apps/gui/skin_engine/wps_debug.c
+++ b/apps/gui/skin_engine/wps_debug.c
@@ -45,7 +45,8 @@ static char *next_str(bool next) {
return next ? "next " : "";
}
-static char *get_token_desc(struct wps_token *token, char *buf, int bufsize)
+static char *get_token_desc(struct wps_token *token, char *buf,
+ int bufsize, struct wps_data *data)
{
bool next = token->next;
@@ -116,8 +117,15 @@ static char *get_token_desc(struct wps_token *token, char *buf, int bufsize)
break;
case WPS_TOKEN_IMAGE_PRELOAD_DISPLAY:
- snprintf(buf, bufsize, "display preloaded image '%c'",
- token->value.i&0xFF);
+ {
+ char subimage = '\0';
+ char label = token->value.i&0xFF;
+ struct gui_img *img = find_image(label, data);
+ if (img && img->num_subimages > 1)
+ subimage = 'a' + (token->value.i>>8);
+ snprintf(buf, bufsize, "display preloaded image '%c%c'",
+ label, subimage);
+ }
break;
case WPS_TOKEN_IMAGE_DISPLAY:
@@ -465,7 +473,7 @@ static void dump_wps_tokens(struct wps_data *data)
/* Dump parsed WPS */
for (i = 0, token = data->tokens; i < data->num_tokens; i++, token++)
{
- get_token_desc(token, buf, sizeof(buf));
+ get_token_desc(token, buf, sizeof(buf), data);
switch(token->type)
{
@@ -583,21 +591,21 @@ void print_debug_info(struct wps_data *data, enum wps_parse_error fail, int line
case PARSE_FAIL_INVALID_CHAR:
DEBUGF("ERR: Unexpected conditional char after token %d: \"%s\"",
data->num_tokens-1,
- get_token_desc(&data->tokens[data->num_tokens-1], buf, sizeof(buf))
+ get_token_desc(&data->tokens[data->num_tokens-1], buf, sizeof(buf), data)
);
break;
case PARSE_FAIL_COND_SYNTAX_ERROR:
DEBUGF("ERR: Conditional syntax error after token %d: \"%s\"",
data->num_tokens-1,
- get_token_desc(&data->tokens[data->num_tokens-1], buf, sizeof(buf))
+ get_token_desc(&data->tokens[data->num_tokens-1], buf, sizeof(buf), data)
);
break;
case PARSE_FAIL_COND_INVALID_PARAM:
DEBUGF("ERR: Invalid parameter list for token %d: \"%s\"",
data->num_tokens,
- get_token_desc(&data->tokens[data->num_tokens], buf, sizeof(buf))
+ get_token_desc(&data->tokens[data->num_tokens], buf, sizeof(buf), data)
);
break;