summaryrefslogtreecommitdiffstats
path: root/apps/gui/skin_engine/skin_engine.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-11-28 10:58:15 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-11-28 10:58:15 +0000
commitd66592bad11b09ede186751a0fa1751feb29c15f (patch)
tree103c73932fe4a83df04d8b47020449f3faa72c0c /apps/gui/skin_engine/skin_engine.c
parent25bce232f2883d2bba47fa9b908d1b95ee71cd3a (diff)
downloadrockbox-d66592bad11b09ede186751a0fa1751feb29c15f.tar.gz
rockbox-d66592bad11b09ede186751a0fa1751feb29c15f.zip
Be less smart about when to reload skins as it caused more problems than it was worth. If any theme setting is loading from a .cfg reload all skins. Fixes FS#12410
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31081 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_engine.c')
-rw-r--r--apps/gui/skin_engine/skin_engine.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c
index e28e4fbbf4..30ec0e75b8 100644
--- a/apps/gui/skin_engine/skin_engine.c
+++ b/apps/gui/skin_engine/skin_engine.c
@@ -139,29 +139,20 @@ void settings_apply_skins(void)
{
FOR_NB_SCREENS(j)
{
- bool load = false;
get_skin_filename(filename, MAX_PATH, i,j);
- if (filename[0] && (strcmp(filename, skins[i][j].filename) || skins[i][j].failsafe_loaded))
- load = true;
- else if (first_run || (!filename[0] && !skins[i][j].failsafe_loaded))
- load = true;
-
- if (load)
+ if (!first_run)
{
- if (!first_run)
- {
- skin_data_free_buflib_allocs(&skins[i][j].data);
+ skin_data_free_buflib_allocs(&skins[i][j].data);
#ifdef HAVE_BACKDROP_IMAGE
- if (skins[i][j].data.backdrop_id >= 0)
- skin_backdrop_unload(skins[i][j].data.backdrop_id);
+ if (skins[i][j].data.backdrop_id >= 0)
+ skin_backdrop_unload(skins[i][j].data.backdrop_id);
#endif
- }
- gui_skin_reset(&skins[i][j]);
- skins[i][j].gui_wps.display = &screens[j];
- if (skin_helpers[i].load_on_boot)
- skin_get_gwps(i, j);
}
+ gui_skin_reset(&skins[i][j]);
+ skins[i][j].gui_wps.display = &screens[j];
+ if (skin_helpers[i].load_on_boot)
+ skin_get_gwps(i, j);
}
}
first_run = false;