LanguageClient: Fix crash after disabling client setting

Change-Id: I0f9ec02edc645726764fc9ea9ea1832e40bbef80
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2019-05-09 09:13:54 +02:00
parent 970a09519d
commit 0c5837a111
3 changed files with 31 additions and 29 deletions

View File

@@ -63,6 +63,7 @@ public:
static void addExclusiveRequest(const LanguageServerProtocol::MessageId &id, Client *client);
static void reportFinished(const LanguageServerProtocol::MessageId &id, Client *byClient);
static void shutdownClient(Client *client);
static void deleteClient(Client *client);
static void shutdown();
@@ -73,7 +74,7 @@ public:
static void applySettings();
static QList<BaseSettings *> currentSettings();
static QVector<QPointer<Client> > clientForSetting(const BaseSettings *setting);
static QVector<Client *> clientForSetting(const BaseSettings *setting);
static const BaseSettings *settingForClient(Client *setting);
static Client *clientForEditor(Core::IEditor *editor);
@@ -103,7 +104,7 @@ private:
bool m_shuttingDown = false;
QVector<Client *> m_clients;
QList<BaseSettings *> m_currentSettings; // owned
QMap<QString, QVector<QPointer<Client>>> m_clientsForSetting;
QMap<QString, QVector<Client *>> m_clientsForSetting;
QHash<LanguageServerProtocol::MessageId, QList<Client *>> m_exclusiveRequests;
DocumentLocatorFilter m_currentDocumentLocatorFilter;
};