From 5aa7e2915beb13fa7663a57dd519225ca5c2ef2b Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 21 Jun 2016 10:28:16 +0200 Subject: [PATCH] PluginView: Do not disable required plugins It was possible to disable required plugins by deselecting the whole category. Task-number: QTCREATORBUG-16321 Change-Id: I983a3461ac0cf610f9cd5e4ffcec5e176256eb53 Reviewed-by: Tobias Hunger --- src/libs/extensionsystem/pluginview.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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; }