]> git.lyx.org Git - lyx.git/blobdiff - src/EnchantChecker.cpp
Center correctly top labels like Abstract.
[lyx.git] / src / EnchantChecker.cpp
index 5ef399a24ad14ea8769d387223fd36a2a5e69793..66931fa07bbc557784b4eb356b5fb653df715ac1 100644 (file)
@@ -30,6 +30,17 @@ 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;
 };
@@ -68,19 +79,18 @@ 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?
                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;
@@ -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());
 }