From d3ba80bfaddcff5a3063f6d3435fe7ec1402086c Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Tue, 22 Jun 2010 14:38:50 +0200
Subject: [PATCH] Fix crash on importing

I can't fully explain the backtrace, but connecting to
qtVersionsChanged() in ::init() and not the ctor is the correct thing to
do.

Task-Nr: QTCREATORBUG-1653
Reviewed-By: hunger
---
 .../qt4projectmanager/qt4projectconfigwidget.cpp       | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index 5838c97a109..3aacc1bde29 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -105,10 +105,6 @@ Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
 
     connect(project, SIGNAL(buildDirectoryInitialized()),
             this, SLOT(updateImportLabel()));
-
-    QtVersionManager *vm = QtVersionManager::instance();
-    connect(vm, SIGNAL(qtVersionsChanged(QList<int>)),
-            this, SLOT(qtVersionsChanged()));
 }
 
 Qt4ProjectConfigWidget::~Qt4ProjectConfigWidget()
@@ -196,6 +192,9 @@ void Qt4ProjectConfigWidget::init(ProjectExplorer::BuildConfiguration *bc)
     m_ui->nameLineEdit->setText(m_buildConfiguration->displayName());
 
     qtVersionsChanged();
+    QtVersionManager *vm = QtVersionManager::instance();
+    connect(vm, SIGNAL(qtVersionsChanged(QList<int>)),
+            this, SLOT(qtVersionsChanged()));
 
     bool shadowBuild = m_buildConfiguration->shadowBuild();
     m_ui->shadowBuildCheckBox->setChecked(shadowBuild);
@@ -233,9 +232,6 @@ void Qt4ProjectConfigWidget::configNameEdited(const QString &newName)
 
 void Qt4ProjectConfigWidget::qtVersionsChanged()
 {
-    if (!m_buildConfiguration) // not yet initialized
-        return;
-
     m_ignoreChange = true;
     QtVersionManager *vm = QtVersionManager::instance();
 
-- 
GitLab