Qnx: Skip warnings when deactivating an API level

Task-number: QTCREATORBUG-11792

Change-Id: If683ce1261bbcdfd3ffd2d949c355e6edf376839
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
El Mehdi Fekari
2014-03-20 15:07:39 +01:00
committed by Mehdi Fekari
parent f32b6fd32e
commit d190704b43

View File

@@ -452,23 +452,39 @@ bool BlackBerryApiLevelConfiguration::activate()
void BlackBerryApiLevelConfiguration::deactivate() void BlackBerryApiLevelConfiguration::deactivate()
{ {
QList<BaseQtVersion *> qtvToRemove;
QList<ToolChain *> tcToRemove;
QList<const DebuggerItem *> dbgToRemove;
foreach (Kit *kit, KitManager::kits()) { foreach (Kit *kit, KitManager::kits()) {
if (kit->isAutoDetected() && if (kit->isAutoDetected() &&
kit->autoDetectionSource() == ndkEnvFile().toString()) { kit->autoDetectionSource() == ndkEnvFile().toString()) {
BaseQtVersion *version = QtKitInformation::qtVersion(kit); BaseQtVersion *version = QtKitInformation::qtVersion(kit);
ToolChain *toolChain = ToolChainKitInformation::toolChain(kit); ToolChain *toolChain = ToolChainKitInformation::toolChain(kit);
const DebuggerItem *debugger = DebuggerKitInformation::debugger(kit); const DebuggerItem *debugger = DebuggerKitInformation::debugger(kit);
if (version) // Kit's Qt version, tool chain or debugger might be used by other BB kits
QtVersionManager::removeVersion(version); // generated for the same API level that are not yet unregistered. This triggers warning outputs.
if (toolChain) // Let's unregistered/removed them later once all API level kits are unregistered.
ToolChainManager::deregisterToolChain(toolChain); if (version && !qtvToRemove.contains(version))
if (debugger) qtvToRemove << version;
DebuggerItemManager::deregisterDebugger(debugger->id()); if (toolChain && !tcToRemove.contains(toolChain))
tcToRemove << toolChain;
if (debugger && !dbgToRemove.contains(debugger))
dbgToRemove << debugger;
KitManager::deregisterKit(kit); KitManager::deregisterKit(kit);
} }
} }
foreach (BaseQtVersion *qtv, qtvToRemove)
QtVersionManager::removeVersion(qtv);
foreach (ToolChain *tc, tcToRemove)
ToolChainManager::deregisterToolChain(tc);
foreach (const DebuggerItem *debugger, dbgToRemove)
DebuggerItemManager::deregisterDebugger(debugger->id());
BlackBerryConfigurationManager::instance()->emitSettingsChanged(); BlackBerryConfigurationManager::instance()->emitSettingsChanged();
} }