diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp index a51dbb03387..6d1d3b0fdfc 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp @@ -240,6 +240,20 @@ void QmakeProjectImporter::cleanupKit(ProjectExplorer::Kit *k) QtSupport::QtVersionManager::removeVersion(version); } +void QmakeProjectImporter::makePermanent(ProjectExplorer::Kit *k) +{ + int tempId = k->value(QT_IS_TEMPORARY, -1).toInt(); + int qtId = QtSupport::QtKitInformation::qtVersionId(k); + if (tempId != qtId) { + QtSupport::BaseQtVersion *version = QtSupport::QtVersionManager::version(tempId); + if (version) + QtSupport::QtVersionManager::removeVersion(version); + } + + k->removeKey(QT_IS_TEMPORARY); + ProjectImporter::makePermanent(k); +} + ProjectExplorer::Kit *QmakeProjectImporter::createTemporaryKit(QtSupport::BaseQtVersion *version, bool temporaryVersion, const Utils::FileName &parsedSpec) diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.h b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.h index 05033e880f4..af94da41c89 100644 --- a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.h +++ b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.h @@ -52,6 +52,8 @@ public: void cleanupKit(ProjectExplorer::Kit *k); + void makePermanent(ProjectExplorer::Kit *k); + private: ProjectExplorer::Kit *createTemporaryKit(QtSupport::BaseQtVersion *version, bool temporaryVersion,