X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxsocket.C;h=d48ea477d4b7001c0a2c0ffdd7ea43bb67432c45;hb=095625dc3cd0542d13d8cc62362aa71c896eb3e0;hp=99758de0be11067d78f9b74430852f4a1f74aeda;hpb=6c300f72a217722652dc27db9108e1050028979c;p=lyx.git diff --git a/src/lyxsocket.C b/src/lyxsocket.C index 99758de0be..d48ea477d4 100644 --- a/src/lyxsocket.C +++ b/src/lyxsocket.C @@ -24,6 +24,7 @@ #include "frontends/Application.h" #include "support/environment.h" +#include "support/filename.h" #include "support/lyxlib.h" #include "support/socktools.h" @@ -31,9 +32,6 @@ #include - -namespace lyx { - #if defined (_WIN32) # include #endif @@ -45,6 +43,8 @@ using std::endl; using std::string; +namespace lyx { + // Address is the unix address for the socket. // MAX_CLIENTS is the maximum number of clients // that can connect at the same time. @@ -64,7 +64,7 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr) // Needed by lyxclient support::setEnv("LYXSOCKET", address_); - theApp->registerSocketCallback( + theApp()->registerSocketCallback( fd_, boost::bind(&LyXServerSocket::serverCallback, this) ); @@ -78,12 +78,13 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr) LyXServerSocket::~LyXServerSocket() { if (fd_ != -1) { - theApp->unregisterSocketCallback(fd_); + BOOST_ASSERT (theApp()); + theApp()->unregisterSocketCallback(fd_); if (::close(fd_) != 0) lyxerr << "lyx: Server socket " << fd_ << " IO error on closing: " << strerror(errno); } - support::unlink(address_); + support::unlink(support::FileName(address_)); lyxerr[Debug::LYXSERVER] << "lyx: Server socket quitting" << endl; } @@ -114,7 +115,7 @@ void LyXServerSocket::serverCallback() // Register the new client. clients[client_fd] = shared_ptr(new LyXDataSocket(client_fd)); - theApp->registerSocketCallback( + theApp()->registerSocketCallback( client_fd, boost::bind(&LyXServerSocket::dataCallback, this, client_fd) @@ -212,7 +213,7 @@ LyXDataSocket::~LyXDataSocket() lyxerr << "lyx: Data socket " << fd_ << " IO error on closing: " << strerror(errno); - theApp->unregisterSocketCallback(fd_); + theApp()->unregisterSocketCallback(fd_); lyxerr[Debug::LYXSERVER] << "lyx: Data socket " << fd_ << " quitting." << endl; }