From cdbb7c6a851bd46eec35af989ab87c2f61c78bb0 Mon Sep 17 00:00:00 2001 From: dt Date: Thu, 10 Jun 2010 14:48:59 +0200 Subject: [PATCH] Remove Qt4 runconfigurations again which don't work. Task-Nr: QTCREATORBUG-1593 --- src/plugins/qt4projectmanager/qt4project.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 006352f4a01..ab57f72f593 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -313,6 +313,7 @@ bool Qt4Project::fromMap(const QVariantMap &map) updateFileList(); // This might be incorrect, need a full update updateCodeModel(); + createApplicationProjects(); foreach (Target *t, targets()) @@ -998,10 +999,26 @@ void Qt4Project::createApplicationProjects() target->removeRunConfiguration(rc); } + // We use the list twice + QList profiles = applicationProFiles(); + QStringList paths; + foreach (Qt4ProFileNode *pro, profiles) + paths << pro->path(); + + foreach (RunConfiguration *rc, target->runConfigurations()) { + if (Qt4RunConfiguration *qt4rc = qobject_cast(rc)) { + if (!paths.contains(qt4rc->proFilePath())) { + // A deleted .pro file? or a change template + // We do remove those though + target->removeRunConfiguration(rc); + } + } + } + // Only add new runconfigurations if there are none. if (target->runConfigurations().isEmpty()) { Qt4Target *qt4Target = static_cast(target); - foreach (Qt4ProFileNode *qt4proFile, applicationProFiles()) { + foreach (Qt4ProFileNode *qt4proFile, profiles) { qt4Target->addRunConfigurationForPath(qt4proFile->path()); } }