summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine
diff options
context:
space:
mode:
authorWilliam Wilgus <me.theuser@yahoo.com>2019-02-07 05:30:11 -0600
committerWilliam Wilgus <me.theuser@yahoo.com>2019-02-26 07:43:04 +0100
commit075108e34a69dec206603598738c2828b6bf7ff6 (patch)
treed9cc151ee94325c4d54b271ae8d82ce33fd00b05 /apps/gui/skin_engine
parented269affb5e13c97f8281331fd42221419ea87df (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.c7
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);