diff --git a/rbutil/rbutilqt/createvoicewindow.cpp b/rbutil/rbutilqt/createvoicewindow.cpp index dda0097b5e..8e08ba3f28 100644 --- a/rbutil/rbutilqt/createvoicewindow.cpp +++ b/rbutil/rbutilqt/createvoicewindow.cpp @@ -87,15 +87,20 @@ void CreateVoiceWindow::setSettings(RbSettings* sett) ui.labelTtsProfile->setText(tr("Selected TTS Engine: %1").arg("Invalid TTS configuration!")); QString encoder = settings->curEncoder(); - EncBase* enc = getEncoder(encoder); - enc->setCfg(settings); - if(enc->configOk()) - ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg(encoder)); + // only proceed if encoder setting is set + if(!encoder.isEmpty()) { + // FIXME: getEncoder CAN return a NULL pointer. Additional error + // checking is required or getEncoder should use the default engine + EncBase* enc = getEncoder(encoder); + enc->setCfg(settings); + if(enc->configOk()) + ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg(encoder)); + else + ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg("Invalid encoder configuration!")); + } else ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg("Invalid encoder configuration!")); - - ui.wavtrimthreshold->setValue(settings->wavtrimTh()); - + ui.wavtrimthreshold->setValue(settings->wavtrimTh()); } diff --git a/rbutil/rbutilqt/installtalkwindow.cpp b/rbutil/rbutilqt/installtalkwindow.cpp index f7202aae40..dfe2a84c19 100644 --- a/rbutil/rbutilqt/installtalkwindow.cpp +++ b/rbutil/rbutilqt/installtalkwindow.cpp @@ -119,13 +119,20 @@ void InstallTalkWindow::setSettings(RbSettings* sett) ui.labelTtsProfile->setText(tr("Selected TTS Engine: %1").arg("Invalid TTS configuration!")); QString encoder = settings->curEncoder(); - EncBase* enc = getEncoder(encoder); - enc->setCfg(settings); - if(enc->configOk()) - ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg(encoder)); + // only proceed if encoder setting is set + if(!encoder.isEmpty()) { + // FIXME: getEncoder CAN return a NULL pointer. Additional error + // checking is required or getEncoder should use the default engine + EncBase* enc = getEncoder(encoder); + enc->setCfg(settings); + if(enc->configOk()) + ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg(encoder)); + else + ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg("Invalid encoder configuration!")); + } else ui.labelEncProfile->setText(tr("Selected Encoder: %1").arg("Invalid encoder configuration!")); - + setTalkFolder(settings->lastTalkedFolder()); }