summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp14
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeprojectimporter.h2
2 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp b/src/plugins/qmakeprojectmanager/qmakeprojectimporter.cpp
index a51dbb0338..6d1d3b0fdf 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 05033e880f..af94da41c8 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,