diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-08-04 10:53:34 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-08-04 11:09:03 +0000 |
commit | dcab956dc83dc77e7170cefeaf0a163b55779e6d (patch) | |
tree | 7b144fe36a776fb36c3e31abb247bf9592d37a6c | |
parent | ba9787a009dcd1095ea9adab6a2185fe1b6b374d (diff) | |
download | qt-creator-dcab956dc83dc77e7170cefeaf0a163b55779e6d.tar.gz |
iOS: Do not drag unused QSettings objects around.
Change-Id: I5f641ba713e11c7a5376f94babf745f35ccbdba2
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
-rw-r--r-- | src/plugins/ios/iosprobe.cpp | 33 | ||||
-rw-r--r-- | src/plugins/ios/iosprobe.h | 4 |
2 files changed, 12 insertions, 25 deletions
diff --git a/src/plugins/ios/iosprobe.cpp b/src/plugins/ios/iosprobe.cpp index cdf0c8157a..25e7d98132 100644 --- a/src/plugins/ios/iosprobe.cpp +++ b/src/plugins/ios/iosprobe.cpp @@ -131,15 +131,14 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco foreach (const QFileInfo &fInfo, platforms) { if (fInfo.isDir() && fInfo.suffix() == QLatin1String("platform")) { qCDebug(probeLog) << indent << QString::fromLatin1("Setting up %1").arg(fInfo.fileName()); - QSettingsPtr infoSettings(new QSettings( - fInfo.absoluteFilePath() + QLatin1String("/Info.plist"), - QSettings::NativeFormat)); - if (!infoSettings->contains(QLatin1String("Name"))) { + QSettings infoSettings(fInfo.absoluteFilePath() + QLatin1String("/Info.plist"), + QSettings::NativeFormat); + if (!infoSettings.contains(QLatin1String("Name"))) { qCWarning(probeLog) << indent << QString::fromLatin1("Missing platform name in Info.plist of %1") .arg(fInfo.absoluteFilePath()); continue; } - QString name = infoSettings->value(QLatin1String("Name")).toString(); + QString name = infoSettings.value(QLatin1String("Name")).toString(); if (name != QLatin1String("macosx") && name != QLatin1String("iphoneos") && name != QLatin1String("iphonesimulator")) { @@ -148,9 +147,9 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco } // prepare default platform properties - QVariantMap defaultProp = infoSettings->value(QLatin1String("DefaultProperties")) + QVariantMap defaultProp = infoSettings.value(QLatin1String("DefaultProperties")) .toMap(); - QVariantMap overrideProp = infoSettings->value(QLatin1String("OverrideProperties")) + QVariantMap overrideProp = infoSettings.value(QLatin1String("OverrideProperties")) .toMap(); QMapIterator<QString, QVariant> i(overrideProp); while (i.hasNext()) { @@ -184,7 +183,6 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco clangProfile.platformKind = 0; clangProfile.name = clangFullName; clangProfile.platformPath = Utils::FileName(fInfo); - clangProfile.platformInfo = infoSettings; clangProfile.compilerPath = Utils::FileName(clangFileInfo); QStringList flags = extraFlags; flags << QLatin1String("-dumpmachine"); @@ -208,7 +206,6 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco gccProfile.platformKind = 0; // use the arm-apple-darwin10-llvm-* variant and avoid the extraFlags if available??? gccProfile.platformPath = Utils::FileName(fInfo); - gccProfile.platformInfo = infoSettings; gccProfile.compilerPath = Utils::FileName(gccFileInfo); QStringList flags = extraFlags; flags << QLatin1String("-dumpmachine"); @@ -223,7 +220,6 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco // set SDKs/sysroot QString sysRoot; - QSettingsPtr sdkSettings; { QString sdkName; if (defaultProp.contains(QLatin1String("SDKROOT"))) @@ -234,12 +230,12 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco foreach (const QFileInfo &sdkDirInfo, sdks.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) { indent = QLatin1String(" "); - QSettingsPtr sdkInfo(new QSettings(sdkDirInfo.absoluteFilePath() - + QLatin1String("/SDKSettings.plist"), - QSettings::NativeFormat)); - QString versionStr = sdkInfo->value(QLatin1String("Version")).toString(); - QVariant currentSdkName = sdkInfo->value(QLatin1String("CanonicalName")); - bool isBaseSdk = sdkInfo->value((QLatin1String("isBaseSDK"))).toString() + QSettings sdkInfo(sdkDirInfo.absoluteFilePath() + + QLatin1String("/SDKSettings.plist"), + QSettings::NativeFormat); + QString versionStr = sdkInfo.value(QLatin1String("Version")).toString(); + QVariant currentSdkName = sdkInfo.value(QLatin1String("CanonicalName")); + bool isBaseSdk = sdkInfo.value((QLatin1String("isBaseSDK"))).toString() .toLower() != QLatin1String("no"); if (!isBaseSdk) { qCDebug(probeLog) << indent << QString::fromLatin1("Skipping non base Sdk %1") @@ -250,11 +246,9 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco if (maxVersion.isEmpty() || compareVersions(maxVersion, versionStr) > 0) { maxVersion = versionStr; sdkPath = sdkDirInfo.canonicalFilePath(); - sdkSettings = sdkInfo; } } else if (currentSdkName == sdkName) { sdkPath = sdkDirInfo.canonicalFilePath(); - sdkSettings = sdkInfo; } } if (!sdkPath.isEmpty()) @@ -265,15 +259,12 @@ void IosProbe::setupDefaultToolchains(const QString &devPath, const QString &xco if (hasClang && !sysRoot.isEmpty()) { m_platforms[clangFullName].platformKind |= Platform::BasePlatform; m_platforms[clangFullName].sdkPath = Utils::FileName::fromString(sysRoot); - m_platforms[clangFullName].sdkSettings = sdkSettings; m_platforms[clang11FullName].platformKind |= Platform::BasePlatform; m_platforms[clang11FullName].sdkPath = Utils::FileName::fromString(sysRoot); - m_platforms[clang11FullName].sdkSettings = sdkSettings; } if (hasGcc && !sysRoot.isEmpty()) { m_platforms[gccFullName].platformKind |= Platform::BasePlatform; m_platforms[gccFullName].sdkPath = Utils::FileName::fromString(sysRoot); - m_platforms[gccFullName].sdkSettings = sdkSettings; } } indent = QLatin1String(" "); diff --git a/src/plugins/ios/iosprobe.h b/src/plugins/ios/iosprobe.h index 4e1bd0aff2..8f70f1fa8e 100644 --- a/src/plugins/ios/iosprobe.h +++ b/src/plugins/ios/iosprobe.h @@ -37,8 +37,6 @@ namespace Ios { -typedef QSharedPointer<QSettings> QSettingsPtr; - class Platform { public: @@ -56,8 +54,6 @@ public: Utils::FileName compilerPath; QString architecture; QStringList backendFlags; - QSettingsPtr platformInfo; - QSettingsPtr sdkSettings; }; class IosProbe |