summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2011-10-28 17:09:38 +0000
committerThomas Martitz <kugel@rockbox.org>2011-10-28 17:09:38 +0000
commite126153687c94f5dd901e085444cc60c394a1591 (patch)
treebfc4d2442817d6ed99e29cf0af1e0605f642e4cc /apps
parent98861268580e4dfe1fe4521b64b23b3e36c836b3 (diff)
downloadrockbox-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.c19
-rw-r--r--apps/onplay.c1
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),