From f261515642329227654f1f73458b839ca30c24fb Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 27 Apr 2010 10:58:36 +0200 Subject: [PATCH] Fix possible crash in the generic project Make sure we have a RunConfiguration after importing a project from earlier versions of creator. Tasknumber: QTCREATORBUG-1277 --- .../genericprojectmanager/genericproject.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 339a7809e06..1fa74df191b 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -34,6 +34,7 @@ #include "generictarget.h" #include +#include #include #include #include @@ -435,7 +436,19 @@ bool GenericProject::fromMap(const QVariantMap &map) if (!Project::fromMap(map)) return false; - // Add default BC: + // Sanity check: We need both a buildconfiguration and a runconfiguration! + QList targetList = targets(); + foreach (Target *t, targetList) { + if (!t->activeBuildConfiguration()) { + removeTarget(t); + delete t; + continue; + } + if (!t->activeRunConfiguration()) + t->addRunConfiguration(new ProjectExplorer::CustomExecutableRunConfiguration(t)); + } + + // Add default setup: if (targets().isEmpty()) addTarget(targetFactory()->create(this, QLatin1String(GENERIC_DESKTOP_TARGET_ID)));