summaryrefslogtreecommitdiffstats
path: root/apps/gui/skin_engine/skin_engine.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2013-12-29 17:53:19 +1100
committerJonathan Gordon <rockbox@jdgordon.info>2013-12-29 18:00:38 +1100
commit00b3fd2a667d95c80a7086a8698210b308850968 (patch)
treeab773c77d7bf781c6fe5b699c1d851b59b8c088a /apps/gui/skin_engine/skin_engine.c
parent8566cd7ebf19544db29cc637a5874355849c64d0 (diff)
downloadrockbox-00b3fd2a667d95c80a7086a8698210b308850968.tar.gz
rockbox-00b3fd2a667d95c80a7086a8698210b308850968.zip
skin_engine: unload skin backdrops when the skins are reset
Hopefully this will fix various skin related bugs which happen on usb plug/unplug! Change-Id: Ie1d8378fca38dae02e42ed02a68bdb3663651b4d
Diffstat (limited to 'apps/gui/skin_engine/skin_engine.c')
-rw-r--r--apps/gui/skin_engine/skin_engine.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c
index fd8381edbd..8b3efda6ae 100644
--- a/apps/gui/skin_engine/skin_engine.c
+++ b/apps/gui/skin_engine/skin_engine.c
@@ -133,6 +133,8 @@ void gui_sync_skin_init(void)
FOR_NB_SCREENS(i)
{
skin_data_free_buflib_allocs(&skins[j][i].data);
+ if (skins[j][i].data.backdrop_id != -1)
+ skin_backdrop_unload(skins[j][i].data.backdrop_id);
gui_skin_reset(&skins[j][i]);
skins[j][i].gui_wps.display = &screens[i];
}