diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp index ff317be5e6e..d80b2689c16 100644 --- a/src/plugins/projectexplorer/targetsetuppage.cpp +++ b/src/plugins/projectexplorer/targetsetuppage.cpp @@ -209,12 +209,12 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) : void TargetSetupPage::initializePage() { - reset(); - - setupWidgets(); - setupImports(); - selectAtLeastOneKit(); - updateVisibility(); + if (KitManager::isLoaded()) { + doInitializePage(); + } else { + connect(KitManager::instance(), &KitManager::kitsLoaded, + this, &TargetSetupPage::doInitializePage); + } } void TargetSetupPage::setRequiredKitPredicate(const Kit::Predicate &predicate) @@ -494,6 +494,15 @@ void TargetSetupPage::kitFilterChanged(const QString &filterText) selectAtLeastOneKit(); } +void TargetSetupPage::doInitializePage() +{ + reset(); + setupWidgets(); + setupImports(); + selectAtLeastOneKit(); + updateVisibility(); +} + void TargetSetupPage::changeAllKitsSelections() { if (m_ui->allKitsCheckBox->checkState() == Qt::PartiallyChecked) diff --git a/src/plugins/projectexplorer/targetsetuppage.h b/src/plugins/projectexplorer/targetsetuppage.h index c0814a1ce48..e8cc7aef9e6 100644 --- a/src/plugins/projectexplorer/targetsetuppage.h +++ b/src/plugins/projectexplorer/targetsetuppage.h @@ -87,6 +87,8 @@ public: void kitFilterChanged(const QString &filterText); private: + void doInitializePage(); + void handleKitAddition(Kit *k); void handleKitRemoval(Kit *k); void handleKitUpdate(Kit *k);