forked from qt-creator/qt-creator
LanguageClient: assign document to correct client
If a server is setup to start per project we want to open files of a project in the matching server by default. Change-Id: Ie266fd858420acd75b7a1fd45be7bee2b06460aa Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -472,13 +472,17 @@ void LanguageClientManager::documentOpened(Core::IDocument *document)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// check whether we already have a client running for this project
|
// check whether we already have a client running for this project
|
||||||
if (Utils::findOrDefault(clients,
|
Client *clientForProject = Utils::findOrDefault(clients,
|
||||||
[project](const QPointer<Client> &client) {
|
[project](Client *client) {
|
||||||
return client->project() == project;
|
return client->project()
|
||||||
})) {
|
== project;
|
||||||
continue;
|
});
|
||||||
|
if (!clientForProject) {
|
||||||
|
clientForProject = startClient(setting, project);
|
||||||
|
clients << clientForProject;
|
||||||
}
|
}
|
||||||
clients << startClient(setting, project);
|
QTC_ASSERT(clientForProject, continue);
|
||||||
|
openDocumentWithClient(textDocument, clientForProject);
|
||||||
}
|
}
|
||||||
} else if (setting->m_startBehavior == BaseSettings::RequiresFile && clients.isEmpty()) {
|
} else if (setting->m_startBehavior == BaseSettings::RequiresFile && clients.isEmpty()) {
|
||||||
clients << startClient(setting);
|
clients << startClient(setting);
|
||||||
|
Reference in New Issue
Block a user