diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp index 0d7c353f222..c4147862a7d 100644 --- a/src/plugins/projectexplorer/toolchain.cpp +++ b/src/plugins/projectexplorer/toolchain.cpp @@ -167,6 +167,11 @@ QString Toolchain::detectionSource() const return d->m_detectionSource; } +ToolchainFactory *Toolchain::factory() const +{ + return ToolchainFactory::factoryForType(typeId()); +} + QByteArray Toolchain::id() const { return d->m_id; @@ -220,7 +225,7 @@ bool Toolchain::operator == (const Toolchain &tc) const Toolchain *Toolchain::clone() const { - if (ToolchainFactory *const f = ToolchainFactory::factoryForType(d->m_typeId)) { + if (ToolchainFactory * const f = factory()) { Toolchain *tc = f->create(); QTC_ASSERT(tc, return nullptr); Store data; diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index e547bf9665b..daf1c30afe3 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -42,6 +42,7 @@ QString languageId(Language l); class GccToolchain; class ToolchainConfigWidget; +class ToolchainFactory; class Kit; namespace Internal { class ToolchainSettingsAccessor; } @@ -78,6 +79,7 @@ public: bool isSdkProvided() const { return detection() == AutoDetectionFromSdk; } Detection detection() const; QString detectionSource() const; + ToolchainFactory *factory() const; QByteArray id() const;