diff options
author | Frank Gevaerts <frank@gevaerts.be> | 2012-02-21 14:59:52 +0100 |
---|---|---|
committer | Frank Gevaerts <frank@gevaerts.be> | 2012-02-29 14:11:33 +0100 |
commit | b9bf6cdb2c400ccfa0c00999468dbd2b1f0ac8d3 (patch) | |
tree | aeef8297fcb9b0b2155c0550b9fc5a8ce2d859a1 | |
parent | 8efb8f97c4882e3142f62bf35c822cae6fb120c3 (diff) | |
download | rockbox-b9bf6cdb2c400ccfa0c00999468dbd2b1f0ac8d3.tar.gz rockbox-b9bf6cdb2c400ccfa0c00999468dbd2b1f0ac8d3.zip |
Call skinlist_set_cfg() unconditionally, i.e. also if do_refresh==false
This call is cheap (except if the list config changes, but then it should
be called anyway), and do_refresh isn't always set appropriately, e.g.
when the screen has just changed, which could cause the list config to be
null at bad times, which caused the standard list to be shown instead of
the desired skinned list.
Change-Id: I47dd2552d6d1062456ede4529c4891e80a8159ea
Reviewed-on: http://gerrit.rockbox.org/113
Reviewed-by: Frank Gevaerts <frank@gevaerts.be>
-rw-r--r-- | apps/gui/skin_engine/skin_render.c | 5 | ||||
-rw-r--r-- | lib/skin_parser/tag_table.c | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index f86b161eab..80d8c83d27 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c | |||
@@ -165,9 +165,8 @@ static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info, | |||
165 | break; | 165 | break; |
166 | #ifdef HAVE_LCD_BITMAP | 166 | #ifdef HAVE_LCD_BITMAP |
167 | case SKIN_TOKEN_LIST_ITEM_CFG: | 167 | case SKIN_TOKEN_LIST_ITEM_CFG: |
168 | if (do_refresh) | 168 | skinlist_set_cfg(gwps->display->screen_type, |
169 | skinlist_set_cfg(gwps->display->screen_type, | 169 | SKINOFFSETTOPTR(skin_buffer, token->value.data)); |
170 | SKINOFFSETTOPTR(skin_buffer, token->value.data)); | ||
171 | break; | 170 | break; |
172 | case SKIN_TOKEN_UIVIEWPORT_ENABLE: | 171 | case SKIN_TOKEN_UIVIEWPORT_ENABLE: |
173 | sb_set_info_vp(gwps->display->screen_type, token->value.data); | 172 | sb_set_info_vp(gwps->display->screen_type, token->value.data); |
diff --git a/lib/skin_parser/tag_table.c b/lib/skin_parser/tag_table.c index 47a0abb046..fb61da501b 100644 --- a/lib/skin_parser/tag_table.c +++ b/lib/skin_parser/tag_table.c | |||
@@ -196,7 +196,7 @@ static const struct tag_info legal_tags[] = | |||
196 | { SKIN_TOKEN_LIST_ITEM_NUMBER, "LN", "", SKIN_REFRESH_DYNAMIC }, | 196 | { SKIN_TOKEN_LIST_ITEM_NUMBER, "LN", "", SKIN_REFRESH_DYNAMIC }, |
197 | { SKIN_TOKEN_LIST_TITLE_ICON, "Li" , "", SKIN_REFRESH_DYNAMIC }, | 197 | { SKIN_TOKEN_LIST_TITLE_ICON, "Li" , "", SKIN_REFRESH_DYNAMIC }, |
198 | { SKIN_TOKEN_LIST_ITEM_ICON, "LI", "|IS", SKIN_REFRESH_DYNAMIC }, | 198 | { SKIN_TOKEN_LIST_ITEM_ICON, "LI", "|IS", SKIN_REFRESH_DYNAMIC }, |
199 | { SKIN_TOKEN_LIST_ITEM_CFG, "Lb" , "Sii|S", SKIN_REFRESH_STATIC }, | 199 | { SKIN_TOKEN_LIST_ITEM_CFG, "Lb" , "Sii|S", SKIN_REFRESH_DYNAMIC}, |
200 | { SKIN_TOKEN_LIST_ITEM_IS_SELECTED, "Lc" , "", SKIN_REFRESH_DYNAMIC }, | 200 | { SKIN_TOKEN_LIST_ITEM_IS_SELECTED, "Lc" , "", SKIN_REFRESH_DYNAMIC }, |
201 | { SKIN_TOKEN_LIST_NEEDS_SCROLLBAR, "LB", BAR_PARAMS, SKIN_REFRESH_DYNAMIC }, | 201 | { SKIN_TOKEN_LIST_NEEDS_SCROLLBAR, "LB", BAR_PARAMS, SKIN_REFRESH_DYNAMIC }, |
202 | 202 | ||