diff options
Diffstat (limited to 'apps/gui/skin_engine/skin_display.c')
-rw-r--r-- | apps/gui/skin_engine/skin_display.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c index c35b09eaac..4a3dcc2177 100644 --- a/apps/gui/skin_engine/skin_display.c +++ b/apps/gui/skin_engine/skin_display.c | |||
@@ -390,16 +390,20 @@ void wps_display_images(struct gui_wps *gwps, struct viewport* vp) | |||
390 | while (list) | 390 | while (list) |
391 | { | 391 | { |
392 | struct wps_token *token = SKINOFFSETTOPTR(get_skin_buffer(data), list->token); | 392 | struct wps_token *token = SKINOFFSETTOPTR(get_skin_buffer(data), list->token); |
393 | struct gui_img *img = (struct gui_img*)SKINOFFSETTOPTR(get_skin_buffer(data), token->value.data); | 393 | struct gui_img *img = NULL; |
394 | if (img->using_preloaded_icons && img->display >= 0) | 394 | if (token) |
395 | { | 395 | img = (struct gui_img*)SKINOFFSETTOPTR(get_skin_buffer(data), token->value.data); |
396 | screen_put_icon(display, img->x, img->y, img->display); | 396 | if (img) { |
397 | } | 397 | if (img->using_preloaded_icons && img->display >= 0) |
398 | else if (img->loaded) | ||
399 | { | ||
400 | if (img->display >= 0) | ||
401 | { | 398 | { |
402 | wps_draw_image(gwps, img, img->display, vp); | 399 | screen_put_icon(display, img->x, img->y, img->display); |
400 | } | ||
401 | else if (img->loaded) | ||
402 | { | ||
403 | if (img->display >= 0) | ||
404 | { | ||
405 | wps_draw_image(gwps, img, img->display, vp); | ||
406 | } | ||
403 | } | 407 | } |
404 | } | 408 | } |
405 | list = SKINOFFSETTOPTR(get_skin_buffer(data), list->next); | 409 | list = SKINOFFSETTOPTR(get_skin_buffer(data), list->next); |