diff options
Diffstat (limited to 'apps/gui/skin_engine/skin_parser.c')
-rw-r--r-- | apps/gui/skin_engine/skin_parser.c | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index a0386c5529..3238c48c63 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c | |||
@@ -2286,19 +2286,6 @@ bool skin_data_load(enum screen_type screen, struct wps_data *wps_data, | |||
2286 | char *wps_buffer = NULL; | 2286 | char *wps_buffer = NULL; |
2287 | if (!wps_data || !buf) | 2287 | if (!wps_data || !buf) |
2288 | return false; | 2288 | return false; |
2289 | #ifdef HAVE_ALBUMART | ||
2290 | int status; | ||
2291 | struct mp3entry *curtrack; | ||
2292 | long offset; | ||
2293 | struct skin_albumart old_aa = {.state = WPS_ALBUMART_NONE}; | ||
2294 | struct skin_albumart *aa = SKINOFFSETTOPTR(skin_buffer, wps_data->albumart); | ||
2295 | if (aa) | ||
2296 | { | ||
2297 | old_aa.state = aa->state; | ||
2298 | old_aa.height = aa->height; | ||
2299 | old_aa.width = aa->width; | ||
2300 | } | ||
2301 | #endif | ||
2302 | #ifdef HAVE_LCD_BITMAP | 2289 | #ifdef HAVE_LCD_BITMAP |
2303 | int i; | 2290 | int i; |
2304 | for (i=0;i<MAXUSERFONTS;i++) | 2291 | for (i=0;i<MAXUSERFONTS;i++) |
@@ -2401,17 +2388,16 @@ bool skin_data_load(enum screen_type screen, struct wps_data *wps_data, | |||
2401 | } | 2388 | } |
2402 | #endif | 2389 | #endif |
2403 | #if defined(HAVE_ALBUMART) && !defined(__PCTOOL__) | 2390 | #if defined(HAVE_ALBUMART) && !defined(__PCTOOL__) |
2404 | status = audio_status(); | 2391 | int status = audio_status(); |
2405 | if (status & AUDIO_STATUS_PLAY) | 2392 | if (status & AUDIO_STATUS_PLAY) |
2406 | { | 2393 | { |
2394 | /* last_albumart_{width,height} is either both 0 or valid AA dimensions */ | ||
2407 | struct skin_albumart *aa = SKINOFFSETTOPTR(skin_buffer, wps_data->albumart); | 2395 | struct skin_albumart *aa = SKINOFFSETTOPTR(skin_buffer, wps_data->albumart); |
2408 | if (aa && ((aa->state && !old_aa.state) || | 2396 | if (aa && (aa->state != WPS_ALBUMART_NONE || |
2409 | (aa->state && | 2397 | (((wps_data->last_albumart_height != aa->height) || |
2410 | (((old_aa.height != aa->height) || | 2398 | (wps_data->last_albumart_width != aa->width))))) |
2411 | (old_aa.width != aa->width)))))) | ||
2412 | { | 2399 | { |
2413 | curtrack = audio_current_track(); | 2400 | long offset = audio_current_track()->offset; |
2414 | offset = curtrack->offset; | ||
2415 | audio_stop(); | 2401 | audio_stop(); |
2416 | if (!(status & AUDIO_STATUS_PAUSE)) | 2402 | if (!(status & AUDIO_STATUS_PAUSE)) |
2417 | audio_play(offset); | 2403 | audio_play(offset); |