diff options
Diffstat (limited to 'apps/gui')
-rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index b64bfc143c..8e59c2c2b0 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c | |||
@@ -147,7 +147,6 @@ static void add_to_ll_chain(OFFSETTYPE(struct skin_token_list *) *listoffset, | |||
147 | void *skin_find_item(const char *label, enum skin_find_what what, | 147 | void *skin_find_item(const char *label, enum skin_find_what what, |
148 | struct wps_data *data) | 148 | struct wps_data *data) |
149 | { | 149 | { |
150 | const char *itemlabel = NULL; | ||
151 | char *databuf = get_skin_buffer(data); | 150 | char *databuf = get_skin_buffer(data); |
152 | union { | 151 | union { |
153 | struct skin_token_list *linkedlist; | 152 | struct skin_token_list *linkedlist; |
@@ -183,11 +182,10 @@ void *skin_find_item(const char *label, enum skin_find_what what, | |||
183 | { | 182 | { |
184 | bool skip = false; | 183 | bool skip = false; |
185 | struct wps_token *token = NULL; | 184 | struct wps_token *token = NULL; |
186 | itemlabel = NULL; | 185 | const char *itemlabel = NULL; |
187 | if (!isvplist) | 186 | if (!isvplist) |
188 | token = SKINOFFSETTOPTR(databuf, list.linkedlist->token); | 187 | token = SKINOFFSETTOPTR(databuf, list.linkedlist->token); |
189 | if (token) | 188 | switch (what) |
190 | switch (what) | ||
191 | { | 189 | { |
192 | case SKIN_FIND_UIVP: | 190 | case SKIN_FIND_UIVP: |
193 | case SKIN_FIND_VP: | 191 | case SKIN_FIND_VP: |
@@ -201,25 +199,27 @@ void *skin_find_item(const char *label, enum skin_find_what what, | |||
201 | (what==SKIN_FIND_UIVP)); | 199 | (what==SKIN_FIND_UIVP)); |
202 | break; | 200 | break; |
203 | case SKIN_FIND_IMAGE: | 201 | case SKIN_FIND_IMAGE: |
202 | if (!token) break; | ||
204 | ret = SKINOFFSETTOPTR(databuf, token->value.data); | 203 | ret = SKINOFFSETTOPTR(databuf, token->value.data); |
205 | if (!ret) break; | 204 | if (!ret) break; |
206 | itemlabel = SKINOFFSETTOPTR(databuf, ((struct gui_img *)ret)->label); | 205 | itemlabel = SKINOFFSETTOPTR(databuf, ((struct gui_img *)ret)->label); |
207 | break; | 206 | break; |
208 | #ifdef HAVE_TOUCHSCREEN | 207 | #ifdef HAVE_TOUCHSCREEN |
209 | case SKIN_FIND_TOUCHREGION: | 208 | case SKIN_FIND_TOUCHREGION: |
210 | if (!ret) break; | 209 | if (!token) break; |
211 | ret = SKINOFFSETTOPTR(databuf, token->value.data); | 210 | ret = SKINOFFSETTOPTR(databuf, token->value.data); |
211 | if (!ret) break; | ||
212 | itemlabel = SKINOFFSETTOPTR(databuf, ((struct touchregion *)ret)->label); | 212 | itemlabel = SKINOFFSETTOPTR(databuf, ((struct touchregion *)ret)->label); |
213 | break; | 213 | break; |
214 | #endif | 214 | #endif |
215 | #ifdef HAVE_SKIN_VARIABLES | 215 | #ifdef HAVE_SKIN_VARIABLES |
216 | case SKIN_VARIABLE: | 216 | case SKIN_VARIABLE: |
217 | if (!token) break; | ||
217 | ret = SKINOFFSETTOPTR(databuf, token->value.data); | 218 | ret = SKINOFFSETTOPTR(databuf, token->value.data); |
218 | if (!ret) break; | 219 | if (!ret) break; |
219 | itemlabel = SKINOFFSETTOPTR(databuf, ((struct skin_var *)ret)->label); | 220 | itemlabel = SKINOFFSETTOPTR(databuf, ((struct skin_var *)ret)->label); |
220 | break; | 221 | break; |
221 | #endif | 222 | #endif |
222 | |||
223 | } | 223 | } |
224 | if (!skip && itemlabel && !strcmp(itemlabel, label)) | 224 | if (!skip && itemlabel && !strcmp(itemlabel, label)) |
225 | { | 225 | { |