From a5af534f77a6642becc2a343686bd59cc1b32520 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@nokia.com>
Date: Thu, 11 Feb 2010 15:29:46 +0100
Subject: [PATCH] Fix QT version/mkspec reporting in Qt options page

---
 .../qt4projectmanager/qtoptionspage.cpp       | 22 ++++++++++---------
 1 file changed, 12 insertions(+), 10 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qtoptionspage.cpp b/src/plugins/qt4projectmanager/qtoptionspage.cpp
index 9fad97c1482..2bda2880511 100644
--- a/src/plugins/qt4projectmanager/qtoptionspage.cpp
+++ b/src/plugins/qt4projectmanager/qtoptionspage.cpp
@@ -444,15 +444,23 @@ void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item)
 {
     if (item) {
         int index = indexForTreeItem(item);
+        m_ui->errorLabel->setText("");
         if (index < 0) {
             makeMSVCVisible(false);
             makeMingwVisible(false);
             makeS60Visible(false);
             return;
         }
-        m_ui->errorLabel->setText("");
         QList<ProjectExplorer::ToolChain::ToolChainType> types = m_versions.at(index)->possibleToolChainTypes();
-        if (types.contains(ProjectExplorer::ToolChain::MinGW)) {
+        if (types.isEmpty()) {
+            makeMSVCVisible(false);
+            makeMingwVisible(false);
+            makeS60Visible(false);
+            if (!m_versions.at(index)->isValid())
+                m_ui->errorLabel->setText(m_versions.at(index)->invalidReason());
+            else
+                m_ui->errorLabel->setText(tr("%1 does not specify a valid Qt installation").arg(QDir::toNativeSeparators(m_versions.at(index)->qmakeCommand())));
+        } else if (types.contains(ProjectExplorer::ToolChain::MinGW)) {
             makeMSVCVisible(false);
             makeMingwVisible(true);
             makeS60Visible(false);
@@ -487,18 +495,12 @@ void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item)
             m_ui->mwcPath->setPath(m_versions.at(index)->mwcDirectory());
             m_ui->s60SDKPath->setPath(m_versions.at(index)->s60SDKDirectory());
             m_ui->gccePath->setPath(m_versions.at(index)->gcceDirectory());
-        } else if (types.contains(ProjectExplorer::ToolChain::INVALID)) {
-            makeMSVCVisible(false);
-            makeMingwVisible(false);
-            makeS60Visible(false);
-            if (!m_versions.at(index)->isValid())
-                m_ui->errorLabel->setText(m_versions.at(index)->invalidReason());
-            else
-                m_ui->errorLabel->setText(tr("%1 does not specify a valid Qt installation").arg(QDir::toNativeSeparators(m_versions.at(index)->qmakeCommand())));
         } else { //ProjectExplorer::ToolChain::GCC
             makeMSVCVisible(false);
             makeMingwVisible(false);
             makeS60Visible(false);
+        }
+        if (m_ui->errorLabel->text().isEmpty()) {
             m_ui->errorLabel->setText(tr("Found Qt version %1, using mkspec %2")
                                      .arg(m_versions.at(index)->qtVersionString(),
                                           m_versions.at(index)->mkspec()));
-- 
GitLab