ClangCodeModel: reuse Id for restarted clients

This is needed to keep annotations hidden after the restart of clangd if
the user disabled them in the text mark tooltip.

Change-Id: I69a668f2ba71f1dda83eca74a064af7ec1f92e77
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
David Schulz
2023-01-11 13:24:49 +01:00
parent 7c35363cda
commit 3677932266
5 changed files with 15 additions and 10 deletions

View File

@@ -130,9 +130,9 @@ class ClientPrivate : public QObject
{
Q_OBJECT
public:
ClientPrivate(Client *client, BaseClientInterface *clientInterface)
ClientPrivate(Client *client, BaseClientInterface *clientInterface, const Utils::Id &id)
: q(client)
, m_id(Utils::Id::fromString(QUuid::createUuid().toString()))
, m_id(id.isValid() ? id : Utils::Id::fromString(QUuid::createUuid().toString()))
, m_clientCapabilities(q->defaultClientCapabilities())
, m_clientInterface(new InterfaceController(clientInterface))
, m_documentSymbolCache(q)
@@ -333,8 +333,8 @@ public:
const Utils::FilePath m_serverDeviceTemplate;
};
Client::Client(BaseClientInterface *clientInterface)
: d(new ClientPrivate(this, clientInterface))
Client::Client(BaseClientInterface *clientInterface, const Utils::Id &id)
: d(new ClientPrivate(this, clientInterface, id))
{}
Id Client::id() const