mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-04-11 08:05:01 +02:00
Merge pull request #10814 from jherico/linux_fix_static_plugins
Fix static plugin initialization on Linux
This commit is contained in:
commit
9ae390853c
3 changed files with 13 additions and 18 deletions
|
@ -486,11 +486,11 @@ bool setupEssentials(int& argc, char** argv, bool runningMarkerExisted) {
|
|||
Setting::init();
|
||||
|
||||
// Tell the plugin manager about our statically linked plugins
|
||||
PluginManager::setInputPluginProvider([] { return getInputPlugins(); });
|
||||
PluginManager::setDisplayPluginProvider([] { return getDisplayPlugins(); });
|
||||
PluginManager::setInputPluginSettingsPersister([](const InputPluginList& plugins) { saveInputPluginSettings(plugins); });
|
||||
|
||||
if (auto steamClient = PluginManager::getInstance()->getSteamClientPlugin()) {
|
||||
auto pluginManager = PluginManager::getInstance();
|
||||
pluginManager->setInputPluginProvider([] { return getInputPlugins(); });
|
||||
pluginManager->setDisplayPluginProvider([] { return getDisplayPlugins(); });
|
||||
pluginManager->setInputPluginSettingsPersister([](const InputPluginList& plugins) { saveInputPluginSettings(plugins); });
|
||||
if (auto steamClient = pluginManager->getSteamClientPlugin()) {
|
||||
steamClient->init();
|
||||
}
|
||||
|
||||
|
|
|
@ -23,10 +23,6 @@
|
|||
#include "InputPlugin.h"
|
||||
#include "PluginLogging.h"
|
||||
|
||||
DisplayPluginProvider PluginManager::_displayPluginProvider = []()->DisplayPluginList { return {}; };
|
||||
InputPluginProvider PluginManager::_inputPluginProvider = []()->InputPluginList { return {}; };
|
||||
CodecPluginProvider PluginManager::_codecPluginProvider = []()->CodecPluginList { return {}; };
|
||||
InputPluginSettingsPersister PluginManager::_inputSettingsPersister = [](const InputPluginList& list) {};
|
||||
|
||||
void PluginManager::setDisplayPluginProvider(const DisplayPluginProvider& provider) {
|
||||
_displayPluginProvider = provider;
|
||||
|
|
|
@ -33,16 +33,15 @@ public:
|
|||
void shutdown();
|
||||
|
||||
// Application that have statically linked plugins can expose them to the plugin manager with these function
|
||||
static void setDisplayPluginProvider(const DisplayPluginProvider& provider);
|
||||
static void setInputPluginProvider(const InputPluginProvider& provider);
|
||||
static void setCodecPluginProvider(const CodecPluginProvider& provider);
|
||||
static void setInputPluginSettingsPersister(const InputPluginSettingsPersister& persister);
|
||||
void setDisplayPluginProvider(const DisplayPluginProvider& provider);
|
||||
void setInputPluginProvider(const InputPluginProvider& provider);
|
||||
void setCodecPluginProvider(const CodecPluginProvider& provider);
|
||||
void setInputPluginSettingsPersister(const InputPluginSettingsPersister& persister);
|
||||
|
||||
private:
|
||||
static DisplayPluginProvider _displayPluginProvider;
|
||||
static InputPluginProvider _inputPluginProvider;
|
||||
static CodecPluginProvider _codecPluginProvider;
|
||||
static InputPluginSettingsPersister _inputSettingsPersister;
|
||||
|
||||
DisplayPluginProvider _displayPluginProvider { []()->DisplayPluginList { return {}; } };
|
||||
InputPluginProvider _inputPluginProvider { []()->InputPluginList { return {}; } };
|
||||
CodecPluginProvider _codecPluginProvider { []()->CodecPluginList { return {}; } };
|
||||
InputPluginSettingsPersister _inputSettingsPersister { [](const InputPluginList& list) {} };
|
||||
PluginContainer* _container { nullptr };
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue