From 075108e34a69dec206603598738c2828b6bf7ff6 Mon Sep 17 00:00:00 2001 From: William Wilgus Date: Thu, 7 Feb 2019 05:30:11 -0600 Subject: [PATCH] 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 --- apps/gui/skin_engine/skin_engine.c | 7 +++++++ docs/CREDITS | 1 + 2 files changed, 8 insertions(+) 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); diff --git a/docs/CREDITS b/docs/CREDITS index 6df7e58bca..43adcc5955 100644 --- a/docs/CREDITS +++ b/docs/CREDITS @@ -675,6 +675,7 @@ Nathan Follens Gergely Békési Stephane Doyon Alex Wallis +Christian Soffke The libmad team The wavpack team