From 3e9d7d290c278b8043b7eb6d346c69c27173a506 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 30 Nov 2018 15:43:52 +0100 Subject: [PATCH] Do not use invalid Qt version for parsing QMake projects By disallowing the use of kits with invalid Qt versions. This can happen when e.g. a Qt version is registered that was deleted later. Project parsing then fails anyhow, and on Windows even an assert triggers in debug mode. Better disallow using the kit and provide information why. Fixes: QTCREATORBUG-20825 Change-Id: Id6c084c3880c90e691882396653ce7cc6a531699 Reviewed-by: Leena Miettinen Reviewed-by: Christian Stenger --- src/plugins/qmakeprojectmanager/qmakeproject.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index 2ec401c1725..abaf48d88a0 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -598,6 +598,8 @@ QList QmakeProject::projectIssues(const Kit *k) const QList result = Project::projectIssues(k); if (!QtSupport::QtKitInformation::qtVersion(k)) result.append(createProjectTask(Task::TaskType::Error, tr("No Qt version set in kit."))); + else if (!QtSupport::QtKitInformation::qtVersion(k)->isValid()) + result.append(createProjectTask(Task::TaskType::Error, tr("Qt version is invalid."))); if (!ToolChainKitInformation::toolChain(k, ProjectExplorer::Constants::CXX_LANGUAGE_ID)) result.append(createProjectTask(Task::TaskType::Error, tr("No C++ compiler set in kit."))); return result;