From 14e1301e55a16b238be291627509ad72870ef24a Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Sat, 28 Mar 2026 16:17:06 -0500 Subject: Hard-blacklist rootbuilder plugin from loading RootBuilder is incompatible with Fluorine/Linux. Add a permanent hard blacklist (case-insensitive) in loadPlugins() so it is silently skipped for all users. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/src/plugincontainer.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/src/plugincontainer.cpp b/src/src/plugincontainer.cpp index 0c8c89b..d53d8bf 100644 --- a/src/src/plugincontainer.cpp +++ b/src/src/plugincontainer.cpp @@ -1302,10 +1302,21 @@ void PluginContainer::loadPlugins() pluginMap[bundledIter.fileName()] = bundledIter.filePath(); } + // Plugins that are permanently blacklisted for all users. These are + // known-incompatible with Fluorine / Linux and must never be loaded. + static const QSet hardBlacklist = { + QStringLiteral("rootbuilder"), + }; + for (auto it = pluginMap.cbegin(); it != pluginMap.cend(); ++it) { const QString& fileName = it.key(); const QString& filepath = it.value(); + if (hardBlacklist.contains(fileName.toLower())) { + log::debug("plugin \"{}\" is hard-blacklisted, skipping", fileName); + continue; + } + if (skipPlugin == fileName) { log::debug("plugin \"{}\" skipped for this session", fileName); continue; -- cgit v1.3.1