eepp: mojoAL is now used by default.

ecode: Tentative fix for a segfaul when accesing an LSP Server that isn't running anymore.
This commit is contained in:
Martín Lucas Golini
2023-04-19 20:37:34 -03:00
parent 3477d5bc69
commit da44cca16e
20 changed files with 95 additions and 44 deletions

View File

@@ -13,7 +13,7 @@ using namespace EE::System;
namespace ecode {
LSPDocumentClient::LSPDocumentClient( LSPClientServer* server, TextDocument* doc ) :
mServer( server ), mDoc( doc ) {
mServer( server ), mServerManager( server->getManager() ), mDoc( doc ) {
refreshTag();
notifyOpen();
requestSymbolsDelayed();
@@ -63,7 +63,11 @@ void LSPDocumentClient::onDocumentSaved( TextDocument* ) {
void LSPDocumentClient::onDocumentClosed( TextDocument* ) {
URI uri = mDoc->getURI();
LSPClientServer* server = mServer;
mServer->getThreadPool()->run( [server, uri]() { server->didClose( uri ); } );
LSPClientServerManager* manager = mServerManager;
mServer->getThreadPool()->run( [server, manager, uri]() {
if ( manager->isServerRunning( server ) )
server->didClose( uri );
} );
mServer->removeDoc( mDoc );
}