forked from len0rd/rockbox
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_load(struct tree_context* c, const char* tempdir);
|
||||||
int ft_play_filenumber(int pos, int attr);
|
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);
|
void ft_play_filename(char *dir, char *file);
|
||||||
int ft_enter(struct tree_context* c);
|
int ft_enter(struct tree_context* c);
|
||||||
int ft_exit(struct tree_context* c);
|
int ft_exit(struct tree_context* c);
|
||||||
|
|
|
||||||
|
|
@ -835,7 +835,7 @@ static bool dirbrowse(void)
|
||||||
if (attr & ATTR_DIRECTORY)
|
if (attr & ATTR_DIRECTORY)
|
||||||
{
|
{
|
||||||
DEBUGF("Playing directory thumbnail: %s", currdir);
|
DEBUGF("Playing directory thumbnail: %s", currdir);
|
||||||
res = ft_play_dirname(lasti);
|
res = ft_play_dirname(name);
|
||||||
if (res < 0) /* failed, not existing */
|
if (res < 0) /* failed, not existing */
|
||||||
{ /* say the number instead, as a fallback */
|
{ /* say the number instead, as a fallback */
|
||||||
talk_id(VOICE_DIR, false);
|
talk_id(VOICE_DIR, false);
|
||||||
|
|
@ -1298,17 +1298,16 @@ int ft_play_filenumber(int pos, int attr)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ft_play_dirname(int start_index)
|
int ft_play_dirname(char* name)
|
||||||
{
|
{
|
||||||
int fd;
|
int fd;
|
||||||
char dirname_mp3_filename[MAX_PATH+1];
|
char dirname_mp3_filename[MAX_PATH+1];
|
||||||
struct entry *dircache = tc.dircache;
|
|
||||||
|
|
||||||
if (audio_status() & AUDIO_STATUS_PLAY)
|
if (audio_status() & AUDIO_STATUS_PLAY)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
snprintf(dirname_mp3_filename, sizeof(dirname_mp3_filename), "%s/%s/%s",
|
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);
|
dir_thumbnail_name);
|
||||||
|
|
||||||
DEBUGF("Checking for %s\n", dirname_mp3_filename);
|
DEBUGF("Checking for %s\n", dirname_mp3_filename);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue