From ee92e82cb89f8d648212113706d8b22cb4968c26 Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Tue, 6 Oct 2009 17:16:18 +0200
Subject: [PATCH] Fix bug with importanting a build with an not yet existing
 qt.

---
 src/plugins/qt4projectmanager/qt4project.cpp             | 1 +
 src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp | 3 ++-
 src/plugins/qt4projectmanager/qtversionmanager.cpp       | 4 +++-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index a2918a0dc22..afddbe174e3 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -358,6 +358,7 @@ bool Qt4Project::restoreSettingsImpl(PersistentSettingsReader &settingsReader)
 
     // Ensure that the qt version and tool chain in each build configuration is valid
     // or if not, is reset to the default
+
     foreach (BuildConfiguration *bc, buildConfigurations()) {
         qtVersionId(bc);
         toolChainType(bc);
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index b2ae0023718..74f364880b2 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -145,7 +145,7 @@ QString Qt4ProjectConfigWidget::displayName() const
 void Qt4ProjectConfigWidget::init(const QString &buildConfiguration)
 {
     if (debug)
-        qDebug() << "Qt4ProjectConfigWidget::init()";
+        qDebug() << "Qt4ProjectConfigWidget::init() for"<<buildConfiguration;
 
     m_buildConfiguration = buildConfiguration;
     ProjectExplorer::BuildConfiguration *bc = m_pro->buildConfiguration(buildConfiguration);
@@ -183,6 +183,7 @@ void Qt4ProjectConfigWidget::setupQtVersionsComboBox()
     m_ui->qtVersionComboBox->addItem(tr("Default Qt Version (%1)").arg(vm->defaultVersion()->name()), 0);
 
     int qtVersionId = m_pro->qtVersionId(m_pro->buildConfiguration(m_buildConfiguration));
+
     if (qtVersionId == 0) {
         m_ui->qtVersionComboBox->setCurrentIndex(0);
         m_ui->invalidQtWarningLabel->setVisible(false);
diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp
index 7631c17ad01..020d4918a5b 100644
--- a/src/plugins/qt4projectmanager/qtversionmanager.cpp
+++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp
@@ -159,6 +159,7 @@ QtVersionManager *QtVersionManager::instance()
 void QtVersionManager::addVersion(QtVersion *version)
 {
     m_versions.append(version);
+    m_uniqueIdToIndex.insert(version->uniqueId(), m_versions.count() - 1);
     emit qtVersionsChanged();
     writeVersionsIntoSettings();
 }
@@ -823,6 +824,7 @@ void QtVersion::updateVersionInfo() const
 {
     if (m_versionInfoUpToDate)
         return;
+
     // extract data from qmake executable
     m_versionInfo.clear();
     m_notInstalled = false;
@@ -937,7 +939,7 @@ void QtVersion::updateMkSpec() const
         mkspecPath = versionInfo().value("QT_INSTALL_DATA") + "/mkspecs/default";
     else
         mkspecPath = mkspecPath + "/default";
-//        qDebug() << "default mkspec is located at" << mkspecPath;
+//     qDebug() << "default mkspec is located at" << mkspecPath;
 #ifdef Q_OS_WIN
     QFile f2(mkspecPath + "/qmake.conf");
     if (f2.exists() && f2.open(QIODevice::ReadOnly)) {
-- 
GitLab