]> git.lyx.org Git - lyx.git/blobdiff - src/ispell.C
fix arabtex-related problems (bug 1225 and bug 1404)
[lyx.git] / src / ispell.C
index 365522f8a496d64246555e0da27bfe648addf3ae..6a2aac96b497963bcf9fbe71ee6630f8ee906baa 100644 (file)
 
 #include <config.h>
 
-#include "language.h"
+#include "ispell.h"
+
+#include "bufferparams.h"
 #include "debug.h"
 #include "encoding.h"
-#include "ispell.h"
-#include "WordLangTuple.h"
 #include "gettext.h"
-#include "bufferparams.h"
+#include "language.h"
+#include "lyxrc.h"
+#include "WordLangTuple.h"
 
 #include "support/forkedcall.h"
 
 // HP-UX 11.x doesn't have this header
 #ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
 #endif
+#include <sys/time.h>
 
-using namespace lyx::support;
+using boost::shared_ptr;
 
 #ifndef CXX_GLOBAL_CSTD
 using std::strcpy;
 using std::strlen;
 using std::strpbrk;
-using std::strstr;
 #endif
 
 using std::endl;
 using std::max;
+using std::string;
+
 
 namespace {
 
 class LaunchIspell : public lyx::support::ForkedProcess {
+       typedef lyx::support::ForkedProcess ForkedProcess;
 public:
        ///
        LaunchIspell(BufferParams const & p, string const & l,
                     int * in, int * out, int * err)
                : params(p), lang(l), pipein(in), pipeout(out), pipeerr(err) {}
        ///
-       virtual lyx::support::ForkedProcess * clone() const {
-               return new LaunchIspell(*this);
+       virtual shared_ptr<ForkedProcess> clone() const {
+               return shared_ptr<ForkedProcess>(new LaunchIspell(*this));
        }
        ///
        int start();
@@ -68,7 +74,7 @@ private:
 int LaunchIspell::start()
 {
        command_ = lyxrc.isp_command;
-       return runNonBlocking();
+       return run(DontWait);
 }