]> git.lyx.org Git - lyx.git/blobdiff - src/HunspellChecker.cpp
CaMeLbUmP all function names, private or not.
[lyx.git] / src / HunspellChecker.cpp
index 3de1048b34601578e9a46a41a1ef74d7f9c66a96..30d799a7f2243ad9d6a26b5cd01f358202d87d6d 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "support/debug.h"
 #include "support/docstring_list.h"
+#include "support/filetools.h"
 #include "support/FileName.h"
 #include "support/gettext.h"
 #include "support/lassert.h"
@@ -89,19 +90,25 @@ bool haveLanguageFiles(string const & hpath)
 
 Hunspell * HunspellChecker::Private::addSpeller(string const & lang)
 {
-       string hunspell_path = external_path(lyxrc.hunspelldir_path);
-       LYXERR(Debug::FILES, "hunspell path: " << hunspell_path);
+       string hunspell_path = lyxrc.hunspelldir_path;
+       LYXERR(Debug::FILES, "hunspell path: " << external_path(hunspell_path));
        if (hunspell_path.empty()) {
+               // FIXME We'd like to issue a better error message here, but there seems
+               // to be a problem about thread safety, or something of the sort. If
+               // we issue the message using frontend::Alert, then the code comes
+               // back through here while the box is waiting, and causes some kind
+               // of crash. 
                static bool warned = false;
                if (!warned) {
-                       frontend::Alert::error(_("Hunspell Path Not Found"), 
-                                       _("You must set the Hunspell dictionary path in Tools>Preferences>Paths."));
                        warned = true;
+                       LYXERR0("Hunspell path not set.");
+                       //frontend::Alert::error(_("Hunspell Path Not Found"), 
+                       //              _("You must set the Hunspell dictionary path in Tools>Preferences>Paths."));
                }
-               return false;
+               return 0;
        }
 
-       hunspell_path += "/" + lang;
+       hunspell_path = external_path(addName(hunspell_path, lang));
        if (!haveLanguageFiles(hunspell_path)) {
                // try with '_' replaced by '-'
                hunspell_path = subst(hunspell_path, '_', '-');