From db7d12b78ce9ac46560e62646f9231f300d20bd5 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 20 Feb 2020 10:11:35 +0100 Subject: [PATCH] LanguageClient: fix memory leak in client initialization Change-Id: I30e4032cea5fff46ffd790336729cc6fbaf4b104 Reviewed-by: Christian Stenger --- src/plugins/languageclient/client.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 3fc20ea3bc6..05ddb295c33 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -247,8 +247,8 @@ void Client::initialize() QTC_ASSERT(m_clientInterface, return); QTC_ASSERT(m_state == Uninitialized, return); qCDebug(LOGLSPCLIENT) << "initializing language server " << m_displayName; - auto initRequest = new InitializeRequest(); - auto params = initRequest->params().value_or(InitializeParams()); + InitializeRequest initRequest; + auto params = initRequest.params().value_or(InitializeParams()); params.setCapabilities(generateClientCapabilities()); if (m_project) { params.setRootUri(DocumentUri::fromFilePath(m_project->projectDirectory())); @@ -256,13 +256,13 @@ void Client::initialize() return WorkSpaceFolder(pro->projectDirectory().toString(), pro->displayName()); })); } - initRequest->setParams(params); - initRequest->setResponseCallback([this](const InitializeRequest::Response &initResponse){ + initRequest.setParams(params); + initRequest.setResponseCallback([this](const InitializeRequest::Response &initResponse){ initializeCallback(initResponse); }); // directly send data otherwise the state check would fail; - initRequest->registerResponseHandler(&m_responseHandlers); - m_clientInterface->sendMessage(initRequest->toBaseMessage()); + initRequest.registerResponseHandler(&m_responseHandlers); + m_clientInterface->sendMessage(initRequest.toBaseMessage()); m_state = InitializeRequested; }