diff --git a/src/plugins/projectexplorer/targetsetuppage.cpp b/src/plugins/projectexplorer/targetsetuppage.cpp index d82307a51f5..e7ece0a9b4b 100644 --- a/src/plugins/projectexplorer/targetsetuppage.cpp +++ b/src/plugins/projectexplorer/targetsetuppage.cpp @@ -498,9 +498,21 @@ void TargetSetupPage::kitSelectionChanged() void TargetSetupPage::kitFilterChanged(const QString &filterText) { + // Remember selected kits: + const std::vector selectedWidgets + = filtered(m_widgets, &TargetSetupWidget::isKitSelected); + const QVector selectedKitIds = transform(selectedWidgets, + [](const TargetSetupWidget *w) { + return w->kit()->id(); + }); + // Reset currently shown kits reset(); setupWidgets(filterText); + + // Re-select kits: + for (TargetSetupWidget *w : qAsConst(m_widgets)) + w->setKitSelected(selectedKitIds.contains(w->kit()->id())); } void TargetSetupPage::doInitializePage()