diff options
author | Magnus Holmgren <magnushol@gmail.com> | 2006-02-26 16:07:34 +0000 |
---|---|---|
committer | Magnus Holmgren <magnushol@gmail.com> | 2006-02-26 16:07:34 +0000 |
commit | 7ac7317038fbfc8a2ed86b8a68f933897b94fd33 (patch) | |
tree | 88790455bb9f30bdb9012d05ac1bc3dcf9f48288 | |
parent | 2f76763d73c7be641cd55c30ff15f6ff9dda5fe0 (diff) | |
download | rockbox-7ac7317038fbfc8a2ed86b8a68f933897b94fd33.tar.gz rockbox-7ac7317038fbfc8a2ed86b8a68f933897b94fd33.zip |
Previous fix broke voice init when no language file had been selected. Fix that by making sure voice init is run at least once.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8848 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/talk.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/apps/talk.c b/apps/talk.c index 7e8311e847..c7e2e035fd 100644 --- a/apps/talk.c +++ b/apps/talk.c | |||
@@ -95,6 +95,7 @@ static long silence_len; /* length of the VOICE_PAUSE clip */ | |||
95 | static unsigned char* p_lastclip; /* address of latest clip, for silence add */ | 95 | static unsigned char* p_lastclip; /* address of latest clip, for silence add */ |
96 | static unsigned long voicefile_size = 0; /* size of the loaded voice file */ | 96 | static unsigned long voicefile_size = 0; /* size of the loaded voice file */ |
97 | static unsigned char last_lang[MAX_FILENAME+1]; /* name of last used lang file (in talk_init) */ | 97 | static unsigned char last_lang[MAX_FILENAME+1]; /* name of last used lang file (in talk_init) */ |
98 | static bool talk_initialized; /* true if talk_init has been called */ | ||
98 | 99 | ||
99 | /***************** Private prototypes *****************/ | 100 | /***************** Private prototypes *****************/ |
100 | 101 | ||
@@ -473,12 +474,13 @@ static void reset_state(void) | |||
473 | 474 | ||
474 | void talk_init(void) | 475 | void talk_init(void) |
475 | { | 476 | { |
476 | if (!strcasecmp(last_lang, global_settings.lang_file)) | 477 | if (talk_initialized && !strcasecmp(last_lang, global_settings.lang_file)) |
477 | { | 478 | { |
478 | /* not a new file, nothing to do */ | 479 | /* not a new file, nothing to do */ |
479 | return; | 480 | return; |
480 | } | 481 | } |
481 | 482 | ||
483 | talk_initialized = true; | ||
482 | strncpy((char *) last_lang, (char *)global_settings.lang_file, | 484 | strncpy((char *) last_lang, (char *)global_settings.lang_file, |
483 | MAX_FILENAME); | 485 | MAX_FILENAME); |
484 | 486 | ||