From f5e9ae47b32a5c779ff59f3cd41fb7082f3b9efb Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Thu, 29 Aug 2024 10:48:58 +0200 Subject: [PATCH] ExtensionSystem: Improve warnings Change-Id: Ib9f7a6d08ec267de43ce219c8849ceed72bb5122 Reviewed-by: Eike Ziller --- src/libs/extensionsystem/pluginmanager.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/libs/extensionsystem/pluginmanager.cpp b/src/libs/extensionsystem/pluginmanager.cpp index bc30f954f93..7f34130e265 100644 --- a/src/libs/extensionsystem/pluginmanager.cpp +++ b/src/libs/extensionsystem/pluginmanager.cpp @@ -1410,7 +1410,15 @@ void PluginManagerPrivate::loadPlugins() void PluginManagerPrivate::loadPluginsAtRuntime(const QSet &plugins) { - QTC_CHECK(allOf(plugins, [](PluginSpec *spec) { return spec->isSoftLoadable(); })); + const bool allSoftloadable = allOf(plugins, &PluginSpec::isSoftLoadable); + if (!allSoftloadable) { + const QStringList notSoftLoadablePlugins = Utils::transform( + Utils::filtered(plugins, std::not_fn(&PluginSpec::isSoftLoadable)), + &PluginSpec::displayName); + qWarning().noquote() + << "PluginManagerPrivate::loadPluginsAtRuntime(): trying to load non-softloadable" + << "plugin(s):" << notSoftLoadablePlugins.join(", "); + } // load the plugins and their dependencies (if possible) ordered by dependency const QList queue = filtered(loadQueue(), [&plugins](PluginSpec *spec) {