if (aspell_error_number(m.e_speller) != 0) {
// FIXME: We should indicate somehow that this language is not supported.
LYXERR(Debug::FILES, "aspell error: " << aspell_error_message(m.e_speller));
+ delete_aspell_can_have_error(m.e_speller);
+ delete_aspell_config(m.config);
+ m.config = 0;
+ m.e_speller = 0;
}
spellers_[spellerID(lang, variety)] = m;
- return to_aspell_speller(m.e_speller);
+ return m.e_speller ? to_aspell_speller(m.e_speller) : 0;
}
if (lang) {
for (; it != end && !have; ++it) {
- have = d->isValidDictionary(it->second.config, lang->code(), lang->variety());
+ have = it->second.config && d->isValidDictionary(it->second.config, lang->code(), lang->variety());
}
if (!have) {
AspellConfig * config = d->getConfig(lang->code(), lang->variety());