diff options
Diffstat (limited to 'src/main-lib/main.cpp')
-rw-r--r-- | src/main-lib/main.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main-lib/main.cpp b/src/main-lib/main.cpp index 6c2e7e67..25966a01 100644 --- a/src/main-lib/main.cpp +++ b/src/main-lib/main.cpp @@ -192,8 +192,9 @@ void Main::setup(const Configuration *cfg) Q_DECL_NOEXCEPT_EXPR(false) setMainQmlFile(cfg->mainQmlFile()); setupSingleOrMultiProcess(cfg->forceSingleProcess(), cfg->forceMultiProcess()); - setupRuntimesAndContainers(cfg->runtimeConfigurations(), cfg->openGLConfiguration(), + setupRuntimesAndContainers(cfg->runtimeConfigurations(), cfg->runtimeAdditionalLaunchers(), cfg->containerConfigurations(), cfg->pluginFilePaths("container"), + cfg->openGLConfiguration(), cfg->iconThemeSearchPaths(), cfg->iconThemeName()); loadPackageDatabase(cfg->clearCache() || cfg->noCache(), cfg->singleApp()); @@ -360,8 +361,9 @@ void Main::setupSingleOrMultiProcess(bool forceSingleProcess, bool forceMultiPro #endif } -void Main::setupRuntimesAndContainers(const QVariantMap &runtimeConfigurations, const QVariantMap &openGLConfiguration, +void Main::setupRuntimesAndContainers(const QVariantMap &runtimeConfigurations, const QStringList &runtimeAdditionalLaunchers, const QVariantMap &containerConfigurations, const QStringList &containerPluginPaths, + const QVariantMap &openGLConfiguration, const QStringList &iconThemeSearchPaths, const QString &iconThemeName) { if (m_isSingleProcessMode) { @@ -372,9 +374,14 @@ void Main::setupRuntimesAndContainers(const QVariantMap &runtimeConfigurations, #if defined(AM_MULTI_PROCESS) RuntimeFactory::instance()->registerRuntime(new NativeRuntimeManager()); RuntimeFactory::instance()->registerRuntime(new NativeRuntimeManager(qSL("qml"))); - //RuntimeFactory::instance()->registerRuntime(new NativeRuntimeManager(qSL("html"))); + + for (const QString &runtimeId : runtimeAdditionalLaunchers) + RuntimeFactory::instance()->registerRuntime(new NativeRuntimeManager(runtimeId)); ContainerFactory::instance()->registerContainer(new ProcessContainerManager()); +#else + if (!runtimeAdditionalLaunchers.isEmpty()) + qCWarning(LogSystem) << "Addtional runtime launchers are ignored in single-process mode"; #endif auto containerPlugins = loadPlugins<ContainerManagerInterface>("container", containerPluginPaths); for (auto iface : std::as_const(containerPlugins)) |