Abdelrazak Younes <[EMAIL PROTECTED]> writes: | Lars Gullik Bjønnes wrote: | | > // Close the socket and remove the address of the filesystem. | > 75: LyXServerSocket::~LyXServerSocket() | > 76: { | > 77: if (fd_ != -1) { | > 78: theApp->unregisterSocketCallback(fd_); | > 79: if (::close(fd_) != 0) | > 80: lyxerr << "lyx: Server socket " << fd_ | > 81: << " IO error on closing: " << strerror(errno); | > 82: } | > 83: lyx::support::unlink(address_); | > 84: lyxerr[Debug::LYXSERVER] << "lyx: Server socket quitting" << endl; | > 85: } | > It seems that theApp has already been destroyed or something. | | Indeed, I forgot to transfer the destruction of lyx_server_ and | lyx_socket_ when I transferred them from Application. I am going to | commit this patch which should solve your crash. | | Abdel. | Index: lyx_main.C | =================================================================== | --- lyx_main.C (revision 15390) | +++ lyx_main.C (working copy) | @@ -384,6 +384,9 @@ | lyx::from_utf8(package().temp_dir())); | Alert::warning(_("Unable to remove temporary directory"), msg); | } | + | + pimpl_->lyx_server_.reset(); | + pimpl_->lyx_server_.reset();
Why resetting twice? | } | | | @@ -855,8 +858,11 @@ | // a crash | | pimpl_->buffer_list_.emergencyWriteAll(); | - if (lyx::use_gui) | + if (lyx::use_gui) { | pimpl_->lyx_server_->emergencyCleanup(); | + pimpl_->lyx_server_.reset(); | + pimpl_->lyx_server_.reset(); | + } ditto -- Lgb