diff --git a/src/libs/extensionsystem/pluginview.cpp b/src/libs/extensionsystem/pluginview.cpp index 315a6ca2680..e86f98665bb 100644 --- a/src/libs/extensionsystem/pluginview.cpp +++ b/src/libs/extensionsystem/pluginview.cpp @@ -266,10 +266,9 @@ public: bool setData(int column, const QVariant &data, int role) { if (column == LoadedColumn && role == Qt::CheckStateRole) { - QSet affectedPlugins; - foreach (TreeItem *item, children()) - affectedPlugins.insert(static_cast(item)->m_spec); - if (m_view->setPluginsEnabled(affectedPlugins, data.toBool())) { + const QList affectedPlugins = + Utils::filtered(m_plugins, [](PluginSpec *spec) { return !spec->isRequired(); }); + if (m_view->setPluginsEnabled(affectedPlugins.toSet(), data.toBool())) { update(); return true; }