diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp index 7d6eafebcbd..5ce09b94c80 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp @@ -354,23 +354,25 @@ void MaemoRunConfiguration::updateDeviceConfigurations() void MaemoRunConfiguration::handleDeployConfigChanged() { - const QList &deployConfigs - = target()->deployConfigurations(); DeployConfiguration * const activeDeployConf = target()->activeDeployConfiguration(); - for (int i = 0; i < deployConfigs.count(); ++i) { + if (activeDeployConf) { + connect(activeDeployConf->stepList(), SIGNAL(stepInserted(int)), + SLOT(handleDeployConfigChanged()), Qt::UniqueConnection); + connect(activeDeployConf->stepList(), SIGNAL(stepInserted(int)), + SLOT(handleDeployConfigChanged()), Qt::UniqueConnection); + connect(activeDeployConf->stepList(), SIGNAL(stepMoved(int,int)), + SLOT(handleDeployConfigChanged()), Qt::UniqueConnection); + connect(activeDeployConf->stepList(), SIGNAL(stepRemoved(int)), + SLOT(handleDeployConfigChanged()), Qt::UniqueConnection); AbstractMaemoDeployStep * const step - = MaemoGlobal::earlierBuildStep(deployConfigs.at(i), 0); - if (!step) - continue; - if (deployConfigs.at(i) == activeDeployConf) { + = MaemoGlobal::earlierBuildStep(activeDeployConf, 0); + if (step) { connect(step, SIGNAL(deviceConfigChanged()), - SLOT(updateDeviceConfigurations())); - } else { - disconnect(step, 0, this, - SLOT(updateDeviceConfigurations())); + SLOT(updateDeviceConfigurations()), Qt::UniqueConnection); } } + updateDeviceConfigurations(); updateFactoryState(); }