mirror of
https://thingvellir.net/git/overte
synced 2025-03-27 23:52:03 +01:00
Merge pull request #705 from daleglass-overte/fix-plugin-crash
Fix crash when starting with --display, --disable-displays or --disable-inputs
This commit is contained in:
commit
d1cbfa8838
1 changed files with 16 additions and 13 deletions
|
@ -763,19 +763,7 @@ bool setupEssentials(int& argc, char** argv, const QCommandLineParser& parser, b
|
|||
}
|
||||
}
|
||||
|
||||
// Tell the plugin manager about our statically linked plugins
|
||||
DependencyManager::set<ScriptInitializers>();
|
||||
DependencyManager::set<PluginManager>();
|
||||
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();
|
||||
}
|
||||
if (auto oculusPlatform = pluginManager->getOculusPlatformPlugin()) {
|
||||
oculusPlatform->init();
|
||||
}
|
||||
|
||||
|
||||
PROFILE_SET_THREAD_NAME("Main Thread");
|
||||
|
||||
|
@ -8763,6 +8751,21 @@ void Application::sendLambdaEvent(const std::function<void()>& f) {
|
|||
}
|
||||
|
||||
void Application::initPlugins(const QCommandLineParser& parser) {
|
||||
// Tell the plugin manager about our statically linked plugins
|
||||
DependencyManager::set<ScriptInitializers>();
|
||||
DependencyManager::set<PluginManager>();
|
||||
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();
|
||||
}
|
||||
if (auto oculusPlatform = pluginManager->getOculusPlatformPlugin()) {
|
||||
oculusPlatform->init();
|
||||
}
|
||||
|
||||
|
||||
if (parser.isSet("display")) {
|
||||
auto preferredDisplays = parser.value("display").split(',', Qt::SkipEmptyParts);
|
||||
qInfo() << "Setting prefered display plugins:" << preferredDisplays;
|
||||
|
|
Loading…
Reference in a new issue