diff options
author | Thomas Martitz <kugel@rockbox.org> | 2011-10-28 17:09:38 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2011-10-28 17:09:38 +0000 |
commit | e126153687c94f5dd901e085444cc60c394a1591 (patch) | |
tree | bfc4d2442817d6ed99e29cf0af1e0605f642e4cc /apps | |
parent | 98861268580e4dfe1fe4521b64b23b3e36c836b3 (diff) | |
download | rockbox-e126153687c94f5dd901e085444cc60c394a1591.tar.gz rockbox-e126153687c94f5dd901e085444cc60c394a1591.zip |
Fix FS#12357 - New backdrop not displayed after set backdrop from context menu
The loaded flag wasn't set and skin_backdrop_show() call was missing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30846 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/skin_engine/skin_backdrops.c | 19 | ||||
-rw-r--r-- | apps/onplay.c | 1 |
2 files changed, 11 insertions, 9 deletions
diff --git a/apps/gui/skin_engine/skin_backdrops.c b/apps/gui/skin_engine/skin_backdrops.c index 5d98e29128..4663a8756f 100644 --- a/apps/gui/skin_engine/skin_backdrops.c +++ b/apps/gui/skin_engine/skin_backdrops.c @@ -205,22 +205,23 @@ void skin_backdrop_load_setting(void) if (global_settings.backdrop_file[0] && global_settings.backdrop_file[0] != '-') { - if (!backdrops[i].buffer) + if (!backdrops[i].buflib_handle <= 0) { - bool loaded; backdrops[i].buflib_handle = core_alloc_ex(global_settings.backdrop_file, LCD_BACKDROP_BYTES, &buflib_ops); if (backdrops[i].buflib_handle < 0) return; - backdrops[i].buffer = core_get_data(backdrops[i].buflib_handle); - handle_being_loaded = backdrops[i].buflib_handle; - loaded = screens[SCREEN_MAIN].backdrop_load( - global_settings.backdrop_file, - backdrops[i].buffer); - handle_being_loaded = -1; - backdrops[i].name[2] = loaded ? '.' : '\0'; } + bool loaded; + backdrops[i].buffer = core_get_data(backdrops[i].buflib_handle); + handle_being_loaded = backdrops[i].buflib_handle; + loaded = screens[SCREEN_MAIN].backdrop_load( + global_settings.backdrop_file, + backdrops[i].buffer); + handle_being_loaded = -1; + backdrops[i].name[2] = loaded ? '.' : '\0'; + backdrops[i].loaded = loaded; return; } else diff --git a/apps/onplay.c b/apps/onplay.c index 84d9b11678..aab023c846 100644 --- a/apps/onplay.c +++ b/apps/onplay.c @@ -1043,6 +1043,7 @@ static bool set_backdrop(void) sizeof(global_settings.backdrop_file)); settings_save(); skin_backdrop_load_setting(); + skin_backdrop_show(sb_get_backdrop(SCREEN_MAIN)); return true; } MENUITEM_FUNCTION(set_backdrop_item, 0, ID2P(LANG_SET_AS_BACKDROP), |