From e89c4775fab4179a3a195607c404ad2e70ffd1a6 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Thu, 8 Apr 2010 15:33:28 +0200
Subject: [PATCH] Allow loading of projects even with no valid Qt

This patch marks up invalid Qt versions as Desktop.

Make sure we add a the always existing invalid Qt version in the path
available in the targetselectionpage if no valid Qt versions could be found.

This way a project can be set up and loaded without a valid Qt version set up.
Trying to build this will fail of course. This is basically how we handled
this situation before we had targets, too.

Task-number: QTCREATORBUG-1066
Reviewed-by: dt
---
 src/plugins/qt4projectmanager/qtversionmanager.cpp        | 4 +++-
 src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp | 3 +++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index 6e5625c9ae3..1c21a56b788 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -1155,8 +1155,10 @@ void QtVersion::updateToolChainAndMkspec() const
     m_toolChains.clear();
     m_targetIds.clear();
 
-    if (!isValid())
+    if (!isValid()) {
+        m_targetIds.insert(Constants::DESKTOP_TARGET_ID);
         return;
+    }
 
 //    qDebug()<<"Finding mkspec for"<<qmakeCommand();
 
diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
index 7e064ae825c..0a5f7e33932 100644
--- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
+++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
@@ -280,6 +280,9 @@ TargetSetupPage::importInfosForKnownQtVersions(Qt4ProjectManager::Qt4Project *pr
     QList<ImportInfo> results;
     QtVersionManager * vm = QtVersionManager::instance();
     QList<QtVersion *> validVersions = vm->validVersions();
+    // Fallback in case no valid versions are found:
+    if (validVersions.isEmpty())
+        validVersions.append(vm->versions().at(0)); // there is always one!
     foreach (QtVersion *v, validVersions) {
         ImportInfo info;
         // ToDo: Check whether shadowbuilding is possible and use sourcedir if not:
-- 
GitLab