summaryrefslogtreecommitdiff
path: root/apps
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
parented269affb5e13c97f8281331fd42221419ea87df (diff)
downloadrockbox-075108e34a69dec206603598738c2828b6bf7ff6.tar.gz
rockbox-075108e34a69dec206603598738c2828b6bf7ff6.zip
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')
-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 @@
39#define FAILSAFENAME "rockbox_failsafe" 39#define FAILSAFENAME "rockbox_failsafe"
40 40
41void skin_data_free_buflib_allocs(struct wps_data *wps_data); 41void skin_data_free_buflib_allocs(struct wps_data *wps_data);
42#ifdef HAVE_ALBUMART
43void playback_release_aa_slot(int slot);
44#endif
42char* wps_default_skin(enum screen_type screen); 45char* wps_default_skin(enum screen_type screen);
43char* default_radio_skin(enum screen_type screen); 46char* default_radio_skin(enum screen_type screen);
44static bool skins_initialised = false; 47static bool skins_initialised = false;
@@ -169,6 +172,10 @@ void settings_apply_skins(void)
169 if (!first_run) 172 if (!first_run)
170 { 173 {
171 skin_data_free_buflib_allocs(&skins[i][j].data); 174 skin_data_free_buflib_allocs(&skins[i][j].data);
175#ifdef HAVE_ALBUMART
176 if (skins[i][j].data.playback_aa_slot >= 0)
177 playback_release_aa_slot(skins[i][j].data.playback_aa_slot);
178#endif
172#ifdef HAVE_BACKDROP_IMAGE 179#ifdef HAVE_BACKDROP_IMAGE
173 if (skins[i][j].data.backdrop_id >= 0) 180 if (skins[i][j].data.backdrop_id >= 0)
174 skin_backdrop_unload(skins[i][j].data.backdrop_id); 181 skin_backdrop_unload(skins[i][j].data.backdrop_id);