aboutsummaryrefslogtreecommitdiff
path: root/NorthstarDLL/plugins
diff options
context:
space:
mode:
authorJack <66967891+ASpoonPlaysGames@users.noreply.github.com>2023-10-15 20:57:41 +0100
committerGitHub <noreply@github.com>2023-10-15 21:57:41 +0200
commit98af0dcbb45972d4af22ea0d26a3a2c518ea9b13 (patch)
tree0f56979e5ff44f19c3ff98358f6016bfda09fc4d /NorthstarDLL/plugins
parentfb7b538c2fc772fa5fcbecc20593d5b3f4622a35 (diff)
downloadNorthstarLauncher-98af0dcbb45972d4af22ea0d26a3a2c518ea9b13.tar.gz
NorthstarLauncher-98af0dcbb45972d4af22ea0d26a3a2c518ea9b13.zip
Move plugin communication handler init out of plugin manager init (#581)
Plugin state requires this to be initialised even if `-noplugins` is passed, but if `-noplugins` is passed, it doesn't get initialised. Moving this to `dllmain` guarantees that it is initialised properly and prevents #580
Diffstat (limited to 'NorthstarDLL/plugins')
-rw-r--r--NorthstarDLL/plugins/pluginbackend.cpp6
-rw-r--r--NorthstarDLL/plugins/pluginbackend.h4
-rw-r--r--NorthstarDLL/plugins/plugins.cpp2
3 files changed, 1 insertions, 11 deletions
diff --git a/NorthstarDLL/plugins/pluginbackend.cpp b/NorthstarDLL/plugins/pluginbackend.cpp
index 091ddd2f..f9766235 100644
--- a/NorthstarDLL/plugins/pluginbackend.cpp
+++ b/NorthstarDLL/plugins/pluginbackend.cpp
@@ -15,12 +15,6 @@ PluginCommunicationHandler* g_pPluginCommunicationhandler;
static PluginDataRequest storedRequest {PluginDataRequestType::END, (PluginRespondDataCallable) nullptr};
-void init_plugincommunicationhandler()
-{
- g_pPluginCommunicationhandler = new PluginCommunicationHandler;
- g_pPluginCommunicationhandler->requestQueue = {};
-}
-
void PluginCommunicationHandler::RunFrame()
{
std::lock_guard<std::mutex> lock(requestMutex);
diff --git a/NorthstarDLL/plugins/pluginbackend.h b/NorthstarDLL/plugins/pluginbackend.h
index 898b3a99..bcbccbd8 100644
--- a/NorthstarDLL/plugins/pluginbackend.h
+++ b/NorthstarDLL/plugins/pluginbackend.h
@@ -33,12 +33,10 @@ class PluginCommunicationHandler
void GeneratePresenceObjects();
public:
- std::queue<PluginDataRequest> requestQueue;
+ std::queue<PluginDataRequest> requestQueue = {};
std::mutex requestMutex;
PluginEngineData m_sEngineData {};
};
-void init_plugincommunicationhandler();
-
extern PluginCommunicationHandler* g_pPluginCommunicationhandler;
diff --git a/NorthstarDLL/plugins/plugins.cpp b/NorthstarDLL/plugins/plugins.cpp
index 0c4c7fd6..5e28e12d 100644
--- a/NorthstarDLL/plugins/plugins.cpp
+++ b/NorthstarDLL/plugins/plugins.cpp
@@ -226,8 +226,6 @@ bool PluginManager::LoadPlugins()
funcs.relayInviteFunc = nullptr;
funcs.createObject = CreateObject;
- init_plugincommunicationhandler();
-
data.version = ns_version.c_str();
data.northstarModule = g_NorthstarModule;