summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2015-08-04 10:53:34 +0200
committerEike Ziller <eike.ziller@theqtcompany.com>2015-08-04 11:09:03 +0000
commitdcab956dc83dc77e7170cefeaf0a163b55779e6d (patch)
tree7b144fe36a776fb36c3e31abb247bf9592d37a6c
parentba9787a009dcd1095ea9adab6a2185fe1b6b374d (diff)
downloadqt-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.cpp33
-rw-r--r--src/plugins/ios/iosprobe.h4
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