summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/base/talkgenerator.cpp
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2012-10-06 12:42:20 +0200
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2012-10-06 13:53:09 +0200
commit7f76bb48b352984c4de8f40509618763e39f181f (patch)
tree051d788b3dd466bbc560de3dc96d271c9f768343 /rbutil/rbutilqt/base/talkgenerator.cpp
parenta2dd1625bcfb1272cb711dc35896924817af3c0c (diff)
downloadrockbox-7f76bb48b352984c4de8f40509618763e39f181f.tar.gz
rockbox-7f76bb48b352984c4de8f40509618763e39f181f.zip
Don't assume success for TTS object creation.
While the current implementation of getTTS() will always return an object this might change later. Check the returned object before using it to be on the safe side. Change-Id: Ic949cae7cfbe6f3086dee6aab741b0acafe14640
Diffstat (limited to 'rbutil/rbutilqt/base/talkgenerator.cpp')
-rw-r--r--rbutil/rbutilqt/base/talkgenerator.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/rbutil/rbutilqt/base/talkgenerator.cpp b/rbutil/rbutilqt/base/talkgenerator.cpp
index 16e1b15184..a2ab578ade 100644
--- a/rbutil/rbutilqt/base/talkgenerator.cpp
+++ b/rbutil/rbutilqt/base/talkgenerator.cpp
@@ -35,12 +35,19 @@ TalkGenerator::Status TalkGenerator::process(QList<TalkEntry>* list,int wavtrimt
35 bool warnings = false; 35 bool warnings = false;
36 36
37 //tts 37 //tts
38 emit logItem(tr("Starting TTS Engine"),LOGINFO); 38 emit logItem(tr("Starting TTS Engine"), LOGINFO);
39 m_tts = TTSBase::getTTS(this,RbSettings::value(RbSettings::Tts).toString()); 39 m_tts = TTSBase::getTTS(this, RbSettings::value(RbSettings::Tts).toString());
40 if(!m_tts)
41 {
42 qDebug() << "[TalkGenerator] getting the TTS object failed!";
43 emit logItem(tr("Init of TTS engine failed"), LOGERROR);
44 emit done(true);
45 return eERROR;
46 }
40 if(!m_tts->start(&errStr)) 47 if(!m_tts->start(&errStr))
41 { 48 {
42 emit logItem(errStr.trimmed(),LOGERROR); 49 emit logItem(errStr.trimmed(),LOGERROR);
43 emit logItem(tr("Init of TTS engine failed"),LOGERROR); 50 emit logItem(tr("Init of TTS engine failed"), LOGERROR);
44 emit done(true); 51 emit done(true);
45 return eERROR; 52 return eERROR;
46 } 53 }
@@ -278,6 +285,11 @@ void TalkGenerator::setLang(QString name)
278 285
279 QString engine = RbSettings::value(RbSettings::Tts).toString(); 286 QString engine = RbSettings::value(RbSettings::Tts).toString();
280 TTSBase* tts = TTSBase::getTTS(this,RbSettings::value(RbSettings::Tts).toString()); 287 TTSBase* tts = TTSBase::getTTS(this,RbSettings::value(RbSettings::Tts).toString());
288 if(!tts)
289 {
290 qDebug() << "[TalkGenerator] getting the TTS object failed!";
291 return;
292 }
281 QString vendor = tts->voiceVendor(); 293 QString vendor = tts->voiceVendor();
282 delete tts; 294 delete tts;
283 295