aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/projectexplorer/kitmanagerconfigwidget.cpp7
-rw-r--r--src/plugins/projectexplorer/kitmanagerconfigwidget.h2
-rw-r--r--src/plugins/projectexplorer/kitmodel.cpp2
3 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp
index 9839367fe71..46cba9ab1c6 100644
--- a/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp
+++ b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp
@@ -160,10 +160,13 @@ QIcon KitManagerConfigWidget::icon() const
void KitManagerConfigWidget::apply()
{
const auto copyIntoKit = [this](Kit *k) { k->copyFrom(m_modifiedKit.get()); };
- if (m_kit)
+ if (m_kit) {
copyIntoKit(m_kit);
- else
+ } else {
+ m_isRegistering = true;
m_kit = KitManager::registerKit(copyIntoKit);
+ m_isRegistering = false;
+ }
if (m_isDefaultKit)
KitManager::setDefaultKit(m_kit);
emit dirty();
diff --git a/src/plugins/projectexplorer/kitmanagerconfigwidget.h b/src/plugins/projectexplorer/kitmanagerconfigwidget.h
index 8617a118cf5..9eda98582d9 100644
--- a/src/plugins/projectexplorer/kitmanagerconfigwidget.h
+++ b/src/plugins/projectexplorer/kitmanagerconfigwidget.h
@@ -65,6 +65,7 @@ public:
Kit *workingCopy() const;
bool configures(Kit *k) const;
+ bool isRegistering() const { return m_isRegistering; }
void setIsDefaultKit(bool d);
bool isDefaultKit() const;
void removeKit();
@@ -104,6 +105,7 @@ private:
bool m_isDefaultKit = false;
bool m_fixingKit = false;
bool m_hasUniqueName = true;
+ bool m_isRegistering = false;
QList<QAction *> m_actions;
mutable QString m_cachedDisplayName;
};
diff --git a/src/plugins/projectexplorer/kitmodel.cpp b/src/plugins/projectexplorer/kitmodel.cpp
index 7795f3f02cf..5e9f1ad561c 100644
--- a/src/plugins/projectexplorer/kitmodel.cpp
+++ b/src/plugins/projectexplorer/kitmodel.cpp
@@ -309,7 +309,7 @@ void KitModel::addKit(Kit *k)
{
for (TreeItem *n : *m_manualRoot) {
// Was added by us
- if (static_cast<KitNode *>(n)->widget->configures(k))
+ if (static_cast<KitNode *>(n)->widget->isRegistering())
return;
}