summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/gui/skin_engine/skin_parser.c12
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,
147void *skin_find_item(const char *label, enum skin_find_what what, 147void *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 {