namespace {
+enchant::Broker & broker()
+{
+#ifdef HAVE_ENCHANT2
+ static enchant::Broker thebroker;
+ return thebroker;
+#else
+ return *enchant::Broker::instance();
+#endif
+}
+
+
struct Speller {
enchant::Dict * speller;
};
typedef map<string, Speller> Spellers;
-} // anon namespace
+} // namespace
struct EnchantChecker::Private
{
enchant::Dict * EnchantChecker::Private::addSpeller(string const & lang)
{
- enchant::Broker * instance = enchant::Broker::instance();
Speller m;
try {
LYXERR(Debug::FILES, "request enchant speller for language " << lang);
- m.speller = instance->request_dict(lang);
+ m.speller = broker().request_dict(lang);
}
catch (enchant::Exception & e) {
// FIXME error handling?
const char * what = e.what();
LYXERR(Debug::FILES, "cannot add enchant speller: " <<
((what && *what) ? what : "unspecified enchant exception in request_dict()"));
- m.speller = 0;
+ m.speller = nullptr;
}
spellers_[lang] = m;
return m.speller;
{
if (!lang)
return false;
- enchant::Broker * instance = enchant::Broker::instance();
- return (instance->dict_exists(lang->code()));
+ return broker().dict_exists(lang->code());
}