summaryrefslogtreecommitdiffstats
path: root/src/libs/installer
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@theqtcompany.com>2015-10-12 09:28:00 +0200
committerKai Koehne <kai.koehne@theqtcompany.com>2015-10-12 09:30:51 +0200
commit6c04ab6712516dd76addf35cd924ee73603dbbf3 (patch)
tree7b96443eb972bb6e84ecb6ead777c0a3b8dc2995 /src/libs/installer
parent175ffec58f9e4f513004ec53ab03f06561096913 (diff)
parenta81f19295745d081306f9417d6c45fda252fcb89 (diff)
Merge remote-tracking branch 'origin/2.0'
Diffstat (limited to 'src/libs/installer')
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp3
-rw-r--r--src/libs/installer/packagemanagerproxyfactory.cpp14
2 files changed, 14 insertions, 3 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index e070ba87a..51ea4df38 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -1605,9 +1605,8 @@ bool PackageManagerCorePrivate::runPackageUpdater()
//to have some progress for the cleanup/write component.xml step
ProgressCoordinator::instance()->addReservePercentagePoints(1);
- const QString packagesXml = componentsXmlPath();
// check if we need admin rights and ask before the action happens
- if (!QFileInfo(installerBinaryPath()).isWritable() || !QFileInfo(packagesXml).isWritable())
+ if (!QTemporaryFile(targetDir() + QStringLiteral("/XXXXXX")).open())
adminRightsGained = m_core->gainAdminRights();
const QList<Component *> componentsToInstall = m_core->orderedComponentsToInstall();
diff --git a/src/libs/installer/packagemanagerproxyfactory.cpp b/src/libs/installer/packagemanagerproxyfactory.cpp
index 5e8e3188b..7626a26d4 100644
--- a/src/libs/installer/packagemanagerproxyfactory.cpp
+++ b/src/libs/installer/packagemanagerproxyfactory.cpp
@@ -75,7 +75,19 @@ QList<QNetworkProxy> PackageManagerProxyFactory::queryProxy(const QNetworkProxyQ
proxyUrl.userName(), proxyUrl.password());
}
#endif
- return QNetworkProxyFactory::systemProxyForQuery(query);
+ QList<QNetworkProxy> systemProxies = systemProxyForQuery(query);
+
+ auto proxyIter = systemProxies.begin();
+ for (; proxyIter != systemProxies.end(); ++proxyIter) {
+ QNetworkProxy &proxy = *proxyIter;
+ auto p = std::find_if(m_proxyCredentials.constBegin(), m_proxyCredentials.constEnd(),
+ FindProxyCredential(proxy.hostName(), proxy.port()));
+ if (p != m_proxyCredentials.constEnd()) {
+ proxy.setUser(p->user);
+ proxy.setPassword(p->password);
+ }
+ }
+ return systemProxies;
}
if ((settings.proxyType() == Settings::NoProxy))