Fix an occasional crash when using .talk MP3 files for directories in ID3 browsing mode. Spotted and fixed by Steve Bavin (plus minor change by me)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10185 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
8436d41b38
commit
b44714331b
2 changed files with 4 additions and 5 deletions
|
@ -22,7 +22,7 @@
|
|||
|
||||
int ft_load(struct tree_context* c, const char* tempdir);
|
||||
int ft_play_filenumber(int pos, int attr);
|
||||
int ft_play_dirname(int start_index);
|
||||
int ft_play_dirname(char* name);
|
||||
void ft_play_filename(char *dir, char *file);
|
||||
int ft_enter(struct tree_context* c);
|
||||
int ft_exit(struct tree_context* c);
|
||||
|
|
|
@ -835,7 +835,7 @@ static bool dirbrowse(void)
|
|||
if (attr & ATTR_DIRECTORY)
|
||||
{
|
||||
DEBUGF("Playing directory thumbnail: %s", currdir);
|
||||
res = ft_play_dirname(lasti);
|
||||
res = ft_play_dirname(name);
|
||||
if (res < 0) /* failed, not existing */
|
||||
{ /* say the number instead, as a fallback */
|
||||
talk_id(VOICE_DIR, false);
|
||||
|
@ -1298,17 +1298,16 @@ int ft_play_filenumber(int pos, int attr)
|
|||
return 1;
|
||||
}
|
||||
|
||||
int ft_play_dirname(int start_index)
|
||||
int ft_play_dirname(char* name)
|
||||
{
|
||||
int fd;
|
||||
char dirname_mp3_filename[MAX_PATH+1];
|
||||
struct entry *dircache = tc.dircache;
|
||||
|
||||
if (audio_status() & AUDIO_STATUS_PLAY)
|
||||
return 0;
|
||||
|
||||
snprintf(dirname_mp3_filename, sizeof(dirname_mp3_filename), "%s/%s/%s",
|
||||
tc.currdir[1] ? tc.currdir : "" , dircache[start_index].name,
|
||||
tc.currdir[1] ? tc.currdir : "" , name,
|
||||
dir_thumbnail_name);
|
||||
|
||||
DEBUGF("Checking for %s\n", dirname_mp3_filename);
|
||||
|
|
Loading…
Reference in a new issue