summaryrefslogtreecommitdiffstats
path: root/apps/gui
diff options
context:
space:
mode:
authorFrank Gevaerts <frank@gevaerts.be>2011-04-10 13:25:47 +0000
committerFrank Gevaerts <frank@gevaerts.be>2011-04-10 13:25:47 +0000
commitd09f97880a51d915feae563248b1bdcbcd845156 (patch)
tree29a8c6d6ceed9b76eb9a8f53dbf7c2084763ce98 /apps/gui
parentb66239b4363863d3db22fe89ca9909eea11f5097 (diff)
downloadrockbox-d09f97880a51d915feae563248b1bdcbcd845156.tar.gz
rockbox-d09f97880a51d915feae563248b1bdcbcd845156.zip
Support loading backdrops from anywhere in the filesystem. Fixes FS#12041
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29700 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/skin_engine/skin_backdrops.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/apps/gui/skin_engine/skin_backdrops.c b/apps/gui/skin_engine/skin_backdrops.c
index 3e04beaae0..12950a666c 100644
--- a/apps/gui/skin_engine/skin_backdrops.c
+++ b/apps/gui/skin_engine/skin_backdrops.c
@@ -113,10 +113,7 @@ bool skin_backdrops_preload(void)
if (screen == SCREEN_MAIN && global_settings.backdrop_file[0] &&
global_settings.backdrop_file[0] != '-' && filename[0] == '-')
{
- char* temp = filename+2; /* slightly hacky to get a buffer */
- size_t size = sizeof(backdrops[i].name) - 2;
- snprintf(temp, size, BACKDROP_DIR "/%s.bmp", global_settings.backdrop_file);
- filename = temp;
+ filename = global_settings.backdrop_file;
}
if (*filename && *filename != '-')
{
@@ -156,7 +153,6 @@ void skin_backdrop_unload(int backdrop_id)
void skin_backdrop_load_setting(void)
{
int i;
- char filename[MAX_PATH];
for(i=0;i<SKINNABLE_SCREENS_COUNT*NB_SCREENS;i++)
{
if (backdrops[i].name[0] == '-' && backdrops[i].screen == SCREEN_MAIN)
@@ -166,11 +162,11 @@ void skin_backdrop_load_setting(void)
{
if (!backdrops[i].buffer)
backdrops[i].buffer = (char*)skin_buffer_alloc(LCD_BACKDROP_BYTES);
- snprintf(filename, sizeof filename, BACKDROP_DIR "/%s.bmp",
- global_settings.backdrop_file);
+
bool loaded = backdrops[i].buffer &&
- screens[SCREEN_MAIN].backdrop_load(filename,
- backdrops[i].buffer);
+ screens[SCREEN_MAIN].backdrop_load(
+ global_settings.backdrop_file,
+ backdrops[i].buffer);
backdrops[i].name[2] = loaded ? '.' : '\0';
return;
}