diff options
author | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-01-05 11:54:52 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@theqtcompany.com> | 2015-01-06 10:19:03 +0100 |
commit | a5e2b4b149ade9ea4260c12be1db9e423cdedc74 (patch) | |
tree | 3905f2efa5b6433032e45f98f5c6cc4595e5e07d /src/plugins/cpptools/cppprojects.cpp | |
parent | b158b7e51dee1c14848359b4c6960bd048e6221a (diff) | |
download | qt-creator-a5e2b4b149ade9ea4260c12be1db9e423cdedc74.tar.gz |
CppTools: Check for valid active target
The active target might be 0 if e.g. there are not kits and a project is
imported.
Task-number: QTCREATORBUG-13730
Change-Id: I48ade507fefc555d1d3f8230ba82c00270fa457b
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppprojects.cpp')
-rw-r--r-- | src/plugins/cpptools/cppprojects.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/plugins/cpptools/cppprojects.cpp b/src/plugins/cpptools/cppprojects.cpp index 2e35d4a178..ff7a636b2a 100644 --- a/src/plugins/cpptools/cppprojects.cpp +++ b/src/plugins/cpptools/cppprojects.cpp @@ -37,6 +37,8 @@ #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/target.h> +#include <utils/qtcassert.h> + #include <QSet> #include <QTextStream> @@ -457,12 +459,16 @@ void ProjectPartBuilder::createProjectPart(const QStringList &theSources, CppTools::ProjectPart::Ptr part(m_templatePart->copy()); part->displayName = partName; - Kit *k = part->project->activeTarget()->kit(); - if (ToolChain *tc = ToolChainKitInformation::toolChain(k)) - part->evaluateToolchain(tc, - languageVersion >= ProjectPart::CXX98 ? m_cxxFlags - : m_cFlags, - SysRootKitInformation::sysRoot(k)); + QTC_ASSERT(part->project, return); + if (ProjectExplorer::Target *activeTarget = part->project->activeTarget()) { + if (Kit *kit = activeTarget->kit()) { + if (ToolChain *toolChain = ToolChainKitInformation::toolChain(kit)) { + const QStringList flags = languageVersion >= ProjectPart::CXX98 ? m_cxxFlags + : m_cFlags; + part->evaluateToolchain(toolChain, flags, SysRootKitInformation::sysRoot(kit)); + } + } + } part->languageExtensions |= languageExtensions; |