1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Thomas Martitz 2011-10-28 17:09:38 +00:00
parent 9886126858
commit e126153687
2 changed files with 11 additions and 9 deletions

View file

@ -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

View file

@ -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),