summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorTeruaki Kawashima <teru@rockbox.org>2010-09-29 13:23:24 +0000
committerTeruaki Kawashima <teru@rockbox.org>2010-09-29 13:23:24 +0000
commit717f0bd982004a3df0445d7747f04ab46ea3f6d5 (patch)
treea12f13c9514e283daa5e8926fef3070674443966 /apps
parent5b2d7e23a09cede4a3a1ad8db86e60cd42494aa4 (diff)
downloadrockbox-717f0bd982004a3df0445d7747f04ab46ea3f6d5.zip
rockbox-717f0bd982004a3df0445d7747f04ab46ea3f6d5.tar.gz
rockbox-717f0bd982004a3df0445d7747f04ab46ea3f6d5.tar.bz2
rockbox-717f0bd982004a3df0445d7747f04ab46ea3f6d5.tar.xz
explicitly set img->using_preloaded_icons in parse_image_load() and don't rely on parse_image_display().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28184 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/skin_engine/skin_parser.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index faf03ec..8f3d47a 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -248,11 +248,8 @@ static int parse_image_display(struct skin_element *element,
id->label = label;
id->offset = 0;
id->token = NULL;
- img->using_preloaded_icons = false;
- if (!strcmp(img->bm.data, "__list_icons__"))
+ if (img->using_preloaded_icons)
{
- img->num_subimages = Icon_Last_Themeable;
- img->using_preloaded_icons = true;
token->type = SKIN_TOKEN_IMAGE_DISPLAY_LISTICON;
}
@@ -317,6 +314,7 @@ static int parse_image_load(struct skin_element *element,
img->num_subimages = 1;
img->always_display = false;
img->display = -1;
+ img->using_preloaded_icons = false;
/* save current viewport */
img->vp = &curr_vp->vp;
@@ -331,6 +329,12 @@ static int parse_image_load(struct skin_element *element,
if (img->num_subimages <= 0)
return WPS_ERROR_INVALID_PARAM;
}
+
+ if (!strcmp(img->bm.data, "__list_icons__"))
+ {
+ img->num_subimages = Icon_Last_Themeable;
+ img->using_preloaded_icons = true;
+ }
struct skin_token_list *item =
(struct skin_token_list *)new_skin_token_list_item(NULL, img);
@@ -1064,7 +1068,7 @@ static bool load_skin_bmp(struct wps_data *wps_data, struct bitmap *bitmap, char
fd = open(img_path, O_RDONLY);
if (fd < 0)
return false;
- size_t buf_size = read_bmp_file(img_path, bitmap, 0,
+ size_t buf_size = read_bmp_fd(fd, bitmap, 0,
format|FORMAT_RETURN_SIZE, NULL);
char* imgbuf = (char*)skin_buffer_alloc(buf_size);
if (!imgbuf)