Added check for missing .rockbox directory to playlist code.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5063 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Henrik Backe 2004-09-10 20:51:12 +00:00
parent 7a9910ccb9
commit 66b45eeb59
3 changed files with 24 additions and 9 deletions

View file

@ -247,10 +247,17 @@ static void create_control(struct playlist_info* playlist)
playlist->control_fd = creat(playlist->control_filename, 0000200);
if (playlist->control_fd < 0)
{
splash(HZ*2, true, "%s (%d)", str(LANG_PLAYLIST_CONTROL_ACCESS_ERROR),
playlist->control_fd);
if (check_rockboxdir())
{
splash(HZ*2, true, "%s (%d)", str(LANG_PLAYLIST_CONTROL_ACCESS_ERROR),
playlist->control_fd);
}
playlist->control_created = false;
}
else
{
playlist->control_created = true;
}
playlist->control_created = true;
}
/*

View file

@ -120,20 +120,27 @@ static bool boot_changed = false;
static bool start_wps = false;
static bool dirbrowse(const char *root, const int *dirfilter);
void browse_root(void)
bool check_rockboxdir(void)
{
filetype_init();
#ifndef SIMULATOR
DIR *dir = opendir(ROCKBOX_DIR);
if(!dir)
{
lcd_clear_display();
splash(HZ*5, true, str(LANG_NO_ROCKBOX_DIR));
splash(HZ*2, true, str(LANG_NO_ROCKBOX_DIR));
lcd_clear_display();
splash(HZ*5, true, str(LANG_INSTALLATION_INCOMPLETE));
splash(HZ*2, true, str(LANG_INSTALLATION_INCOMPLETE));
return false;
}
closedir(dir);
return true;
}
void browse_root(void)
{
filetype_init();
check_rockboxdir();
#ifndef SIMULATOR
dirbrowse("/", &global_settings.dirfilter);
#else

View file

@ -59,5 +59,6 @@ char *getcwd(char *buf, int size);
void reload_directory(void);
struct entry* load_and_sort_directory(const char *dirname, const int *dirfilter,
int *num_files, bool *buffer_full);
bool check_rockboxdir(void);
#endif