From 20d945aeb28d618dfb6278d27adbb5c06156beac Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 18 Jun 2014 17:48:02 +0200 Subject: [PATCH] QmakeProjectImporter: Clean up temporarily created Qt versions Change-Id: I341091e667632cc38a6d6c5ead0f286dde750221 Reviewed-by: Daniel Teske Reviewed-by: Tobias Hunger --- .../qmakeprojectmanager/qmakeprojectimporter.cpp | 14 ++++++++++++++ .../qmakeprojectmanager/qmakeprojectimporter.h | 2 ++ 2 files changed, 16 insertions(+) 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,