forked from len0rd/rockbox
Don't segfault upon opening the voice / talk creation window if the encoder setting is missing. This could happen if the configuration file is older and the user didn't re-save the settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16202 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
51f6fb56f1
commit
91a503b23e
2 changed files with 24 additions and 12 deletions
|
|
@ -87,15 +87,20 @@ void CreateVoiceWindow::setSettings(RbSettings* sett)
|
|||
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
|
||||
|
||||
QString encoder = settings->curEncoder();
|
||||
EncBase* enc = getEncoder(encoder);
|
||||
enc->setCfg(settings);
|
||||
if(enc->configOk())
|
||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").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: <b>%1</b>").arg(encoder));
|
||||
else
|
||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
||||
}
|
||||
else
|
||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
||||
|
||||
ui.wavtrimthreshold->setValue(settings->wavtrimTh());
|
||||
|
||||
ui.wavtrimthreshold->setValue(settings->wavtrimTh());
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -119,13 +119,20 @@ void InstallTalkWindow::setSettings(RbSettings* sett)
|
|||
ui.labelTtsProfile->setText(tr("Selected TTS Engine: <b>%1</b>").arg("Invalid TTS configuration!"));
|
||||
|
||||
QString encoder = settings->curEncoder();
|
||||
EncBase* enc = getEncoder(encoder);
|
||||
enc->setCfg(settings);
|
||||
if(enc->configOk())
|
||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").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: <b>%1</b>").arg(encoder));
|
||||
else
|
||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
||||
}
|
||||
else
|
||||
ui.labelEncProfile->setText(tr("Selected Encoder: <b>%1</b>").arg("Invalid encoder configuration!"));
|
||||
|
||||
|
||||
setTalkFolder(settings->lastTalkedFolder());
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue