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