diff options
author | Katja Marttila <katja.marttila@qt.io> | 2021-04-26 16:23:00 +0300 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2021-04-30 08:16:48 +0300 |
commit | 8119a82e950cc063df92d5c6d26cac1a3e4954ca (patch) | |
tree | 719d53efcb55610cdf875a56d3165b6d454e6330 /src/libs/installer/packagemanagercore_p.cpp | |
parent | 3660ca50d05802a1f03c2c7f1ba7c1e873c01f78 (diff) |
Fix values overwritten by maintenancetool
Maintenancetool has saved values, which are loaded after installer has
initialized some values, overwriting the installer initial values. Fixed
so that only values that are not already set in installer init will be
set from maintenancetool ini file.
Task-number: QTIFW-2218
Change-Id: Ide6a3f67daec81fe22d6dcde1e95a28f5ed2c53a
Reviewed-by: Arttu Tarkiainen <arttu.tarkiainen@qt.io>
Diffstat (limited to 'src/libs/installer/packagemanagercore_p.cpp')
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index d1e482912..24a67d095 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -611,7 +611,7 @@ UninstallerCalculator *PackageManagerCorePrivate::uninstallerCalculator() const void PackageManagerCorePrivate::initialize(const QHash<QString, QString> ¶ms) { m_coreCheckedHash.clear(); - m_data = PackageManagerCoreData(params); + m_data = PackageManagerCoreData(params, isInstaller()); m_componentsToInstallCalculated = false; #ifdef Q_OS_LINUX @@ -920,8 +920,8 @@ void PackageManagerCorePrivate::readMaintenanceConfigFiles(const QString &target const QVariantHash v = cfg.value(QLatin1String("Variables")).toHash(); // Do not change to // QVariantMap! Breaks reading from existing .ini files, cause the variant types do not match. for (QVariantHash::const_iterator it = v.constBegin(); it != v.constEnd(); ++it) { - m_data.setValue(it.key(), replacePath(it.value().toString(), QLatin1String(scRelocatable), - targetDir)); + if (!m_data.contains(it.key()) || m_data.value(it.key()).isNull()) + m_data.setValue(it.key(), replacePath(it.value().toString(), QLatin1String(scRelocatable), targetDir)); } QSet<Repository> repos; const QVariantList variants = cfg.value(QLatin1String("DefaultRepositories")) |