diff --git a/src/libs/languageserverprotocol/languagefeatures.cpp b/src/libs/languageserverprotocol/languagefeatures.cpp index 0d32fbcae05..59fb9688b78 100644 --- a/src/libs/languageserverprotocol/languagefeatures.cpp +++ b/src/libs/languageserverprotocol/languagefeatures.cpp @@ -353,11 +353,15 @@ CodeActionResult::CodeActionResult(const QJsonValue &val) const QJsonArray array = val.toArray(); ResultArray result; for (const QJsonValue &val : array) { - Command command(val); - if (command.isValid()) - result << command; - else - result << CodeAction(val); + if (val.toObject().value(commandKey).isString()) { + const Command command(val); + if (command.isValid()) + result << command; + } else { + const CodeAction action(val); + if (action.isValid()) + result << action; + } } emplace(result); return;