diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-10-06 12:42:20 +0200 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2012-10-06 13:53:09 +0200 |
commit | 7f76bb48b352984c4de8f40509618763e39f181f (patch) | |
tree | 051d788b3dd466bbc560de3dc96d271c9f768343 /rbutil/rbutilqt/configure.cpp | |
parent | a2dd1625bcfb1272cb711dc35896924817af3c0c (diff) | |
download | rockbox-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/configure.cpp')
-rw-r--r-- | rbutil/rbutilqt/configure.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp index 9dee3f40c6..eef1fcf4e1 100644 --- a/rbutil/rbutilqt/configure.cpp +++ b/rbutil/rbutilqt/configure.cpp | |||
@@ -418,6 +418,13 @@ void Config::updateTtsState(int index) | |||
418 | QString ttsName = ui.comboTts->itemData(index).toString(); | 418 | QString ttsName = ui.comboTts->itemData(index).toString(); |
419 | TTSBase* tts = TTSBase::getTTS(this,ttsName); | 419 | TTSBase* tts = TTSBase::getTTS(this,ttsName); |
420 | 420 | ||
421 | if(!tts) | ||
422 | { | ||
423 | QMessageBox::critical(this, tr("TTS error"), | ||
424 | tr("The selected TTS failed to initialize. You can't use this TTS.")); | ||
425 | return; | ||
426 | } | ||
427 | |||
421 | if(tts->configOk()) | 428 | if(tts->configOk()) |
422 | { | 429 | { |
423 | ui.configTTSstatus->setText(tr("Configuration OK")); | 430 | ui.configTTSstatus->setText(tr("Configuration OK")); |
@@ -837,9 +844,14 @@ void Config::testTts() | |||
837 | QString errstr; | 844 | QString errstr; |
838 | int index = ui.comboTts->currentIndex(); | 845 | int index = ui.comboTts->currentIndex(); |
839 | TTSBase* tts; | 846 | TTSBase* tts; |
840 | |||
841 | ui.testTTS->setEnabled(false); | ||
842 | tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString()); | 847 | tts = TTSBase::getTTS(this,ui.comboTts->itemData(index).toString()); |
848 | if(!tts) | ||
849 | { | ||
850 | QMessageBox::critical(this, tr("TTS error"), | ||
851 | tr("The selected TTS failed to initialize. You can't use this TTS.")); | ||
852 | return; | ||
853 | } | ||
854 | ui.testTTS->setEnabled(false); | ||
843 | if(!tts->configOk()) | 855 | if(!tts->configOk()) |
844 | { | 856 | { |
845 | QMessageBox::warning(this,tr("TTS configuration invalid"), | 857 | QMessageBox::warning(this,tr("TTS configuration invalid"), |