diff options
author | William Wilgus <me.theuser@yahoo.com> | 2019-02-07 05:30:11 -0600 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2019-02-26 07:43:04 +0100 |
commit | 075108e34a69dec206603598738c2828b6bf7ff6 (patch) | |
tree | d9cc151ee94325c4d54b271ae8d82ce33fd00b05 /apps/gui/skin_engine | |
parent | ed269affb5e13c97f8281331fd42221419ea87df (diff) |
Fix skin_engine.c Album Art never dealloc'd on theme change
Patch from forum user Chris_s
http://forums.rockbox.org/index.php/topic,52708.0.html
Change-Id: I29f8702ced300d1dc90dfa0e8baa609b9051903e
Diffstat (limited to 'apps/gui/skin_engine')
-rw-r--r-- | apps/gui/skin_engine/skin_engine.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c index b14460e17e..ec4e1fd073 100644 --- a/apps/gui/skin_engine/skin_engine.c +++ b/apps/gui/skin_engine/skin_engine.c @@ -39,6 +39,9 @@ #define FAILSAFENAME "rockbox_failsafe" void skin_data_free_buflib_allocs(struct wps_data *wps_data); +#ifdef HAVE_ALBUMART +void playback_release_aa_slot(int slot); +#endif char* wps_default_skin(enum screen_type screen); char* default_radio_skin(enum screen_type screen); static bool skins_initialised = false; @@ -169,6 +172,10 @@ void settings_apply_skins(void) if (!first_run) { skin_data_free_buflib_allocs(&skins[i][j].data); +#ifdef HAVE_ALBUMART + if (skins[i][j].data.playback_aa_slot >= 0) + playback_release_aa_slot(skins[i][j].data.playback_aa_slot); +#endif #ifdef HAVE_BACKDROP_IMAGE if (skins[i][j].data.backdrop_id >= 0) skin_backdrop_unload(skins[i][j].data.backdrop_id); |