diff --git a/src/plugins/languageclient/languageclientfunctionhint.cpp b/src/plugins/languageclient/languageclientfunctionhint.cpp index 076bd44cf01..1cdb0fb1e2b 100644 --- a/src/plugins/languageclient/languageclientfunctionhint.cpp +++ b/src/plugins/languageclient/languageclientfunctionhint.cpp @@ -108,7 +108,12 @@ void FunctionHintProcessor::handleSignatureResponse(const SignatureHelpRequest:: if (auto error = response.error()) m_client->log(error.value()); m_client->removeAssistProcessor(this); - const SignatureHelp &signatureHelp = response.result().value().value(); + auto result = response.result().value_or(LanguageClientValue()); + if (result.isNull()) { + setAsyncProposalAvailable(nullptr); + return; + } + const SignatureHelp &signatureHelp = result.value(); if (signatureHelp.signatures().isEmpty()) { setAsyncProposalAvailable(nullptr); } else {