diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2011-11-28 10:58:15 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2011-11-28 10:58:15 +0000 |
commit | d66592bad11b09ede186751a0fa1751feb29c15f (patch) | |
tree | 103c73932fe4a83df04d8b47020449f3faa72c0c /apps/gui/skin_engine/skin_engine.c | |
parent | 25bce232f2883d2bba47fa9b908d1b95ee71cd3a (diff) |
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.c | 25 |
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; |