forked from qt-creator/qt-creator
LanguageClient: track clients scheduled for deletion
So report an async shutdown if we have clients scheduled for deletion and wait until all clients have been fully deleted. Change-Id: I40d35d3429003ab2a5c68cb81486c3e16b5f6f63 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -60,12 +60,12 @@ void LanguageClientPlugin::extensionsInitialized()
|
||||
ExtensionSystem::IPlugin::ShutdownFlag LanguageClientPlugin::aboutToShutdown()
|
||||
{
|
||||
LanguageClientManager::shutdown();
|
||||
if (LanguageClientManager::clients().isEmpty())
|
||||
if (LanguageClientManager::isShutdownFinished())
|
||||
return ExtensionSystem::IPlugin::SynchronousShutdown;
|
||||
QTC_ASSERT(LanguageClientManager::instance(),
|
||||
return ExtensionSystem::IPlugin::SynchronousShutdown);
|
||||
connect(LanguageClientManager::instance(), &LanguageClientManager::shutdownFinished,
|
||||
this, &ExtensionSystem::IPlugin::asynchronousShutdownFinished, Qt::QueuedConnection);
|
||||
this, &ExtensionSystem::IPlugin::asynchronousShutdownFinished);
|
||||
return ExtensionSystem::IPlugin::AsynchronousShutdown;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user