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) | |||
205 | if (global_settings.backdrop_file[0] && | 205 | if (global_settings.backdrop_file[0] && |
206 | global_settings.backdrop_file[0] != '-') | 206 | global_settings.backdrop_file[0] != '-') |
207 | { | 207 | { |
208 | if (!backdrops[i].buffer) | 208 | if (!backdrops[i].buflib_handle <= 0) |
209 | { | 209 | { |
210 | bool loaded; | ||
211 | backdrops[i].buflib_handle = | 210 | backdrops[i].buflib_handle = |
212 | core_alloc_ex(global_settings.backdrop_file, | 211 | core_alloc_ex(global_settings.backdrop_file, |
213 | LCD_BACKDROP_BYTES, &buflib_ops); | 212 | LCD_BACKDROP_BYTES, &buflib_ops); |
214 | if (backdrops[i].buflib_handle < 0) | 213 | if (backdrops[i].buflib_handle < 0) |
215 | return; | 214 | return; |
216 | backdrops[i].buffer = core_get_data(backdrops[i].buflib_handle); | ||
217 | handle_being_loaded = backdrops[i].buflib_handle; | ||
218 | loaded = screens[SCREEN_MAIN].backdrop_load( | ||
219 | global_settings.backdrop_file, | ||
220 | backdrops[i].buffer); | ||
221 | handle_being_loaded = -1; | ||
222 | backdrops[i].name[2] = loaded ? '.' : '\0'; | ||
223 | } | 215 | } |
216 | bool loaded; | ||
217 | backdrops[i].buffer = core_get_data(backdrops[i].buflib_handle); | ||
218 | handle_being_loaded = backdrops[i].buflib_handle; | ||
219 | loaded = screens[SCREEN_MAIN].backdrop_load( | ||
220 | global_settings.backdrop_file, | ||
221 | backdrops[i].buffer); | ||
222 | handle_being_loaded = -1; | ||
223 | backdrops[i].name[2] = loaded ? '.' : '\0'; | ||
224 | backdrops[i].loaded = loaded; | ||
224 | return; | 225 | return; |
225 | } | 226 | } |
226 | else | 227 | 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) | |||
1043 | sizeof(global_settings.backdrop_file)); | 1043 | sizeof(global_settings.backdrop_file)); |
1044 | settings_save(); | 1044 | settings_save(); |
1045 | skin_backdrop_load_setting(); | 1045 | skin_backdrop_load_setting(); |
1046 | skin_backdrop_show(sb_get_backdrop(SCREEN_MAIN)); | ||
1046 | return true; | 1047 | return true; |
1047 | } | 1048 | } |
1048 | MENUITEM_FUNCTION(set_backdrop_item, 0, ID2P(LANG_SET_AS_BACKDROP), | 1049 | MENUITEM_FUNCTION(set_backdrop_item, 0, ID2P(LANG_SET_AS_BACKDROP), |