X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FEnchantChecker.cpp;h=47eb35e52ec208eaa331a5ecaba3786c65e20212;hb=62af7ee772f16f154225d2d0b65d77f4376b6001;hp=d2b849175ded38ddfcd3534400cc02161dff92a4;hpb=75bfed55079cab6b73fbea6ce4ae3f10d1af3b91;p=lyx.git diff --git a/src/EnchantChecker.cpp b/src/EnchantChecker.cpp index d2b849175d..47eb35e52e 100644 --- a/src/EnchantChecker.cpp +++ b/src/EnchantChecker.cpp @@ -30,13 +30,24 @@ namespace lyx { 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 Spellers; -} // anon namespace +} // namespace struct EnchantChecker::Private { @@ -68,12 +79,11 @@ EnchantChecker::Private::~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? @@ -186,8 +196,7 @@ bool EnchantChecker::hasDictionary(Language const * lang) const { if (!lang) return false; - enchant::Broker * instance = enchant::Broker::instance(); - return (instance->dict_exists(lang->code())); + return broker().dict_exists(lang->code()); }