forked from qt-creator/qt-creator
ProjectExplorer: Let toolchains be (de)registered in bulk
When some code adds or removes a bunch of toolchains at once, that should be made explicit and also be reflected by the respective signal emissions. Fix some leaks and typos along the way. Change-Id: I4a1f12a2378316c5faf70e85a88adc467f076caf Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -787,14 +787,16 @@ void AsyncToolchainDetector::run()
|
||||
[watcher,
|
||||
alreadyRegistered = m_alreadyRegistered]() {
|
||||
Toolchains existingTcs = ToolchainManager::toolchains();
|
||||
Toolchains toRegister;
|
||||
for (Toolchain *tc : watcher->result()) {
|
||||
if (tc->isValid() && !alreadyRegistered(tc, existingTcs)) {
|
||||
ToolchainManager::registerToolchain(tc);
|
||||
toRegister << tc;
|
||||
existingTcs << tc;
|
||||
} else {
|
||||
delete tc;
|
||||
}
|
||||
}
|
||||
ToolchainManager::registerToolchains(toRegister);
|
||||
watcher->deleteLater();
|
||||
});
|
||||
watcher->setFuture(Utils::asyncRun(m_func, m_detector));
|
||||
|
||||
Reference in New Issue
Block a user