aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/module/ModuleManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/module/ModuleManager.cpp')
-rw-r--r--src/core/module/ModuleManager.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/core/module/ModuleManager.cpp b/src/core/module/ModuleManager.cpp
index 03ac21a8..26974f1c 100644
--- a/src/core/module/ModuleManager.cpp
+++ b/src/core/module/ModuleManager.cpp
@@ -36,11 +36,10 @@
#include "core/module/Module.h"
#include "core/thread/Task.h"
#include "core/thread/TaskRunner.h"
+#include "utils/MemoryUtils.h"
namespace GpgFrontend::Module {
-ModuleMangerPtr ModuleManager::g_ = nullptr;
-
class ModuleManager::Impl {
public:
Impl()
@@ -138,8 +137,8 @@ ModuleManager::ModuleManager() : p_(std::make_unique<Impl>()) {}
ModuleManager::~ModuleManager() = default;
auto ModuleManager::GetInstance() -> ModuleMangerPtr {
- if (g_ == nullptr) g_ = std::shared_ptr<ModuleManager>(new ModuleManager());
- return g_;
+ static ModuleMangerPtr g = SecureCreateSharedObject<ModuleManager>();
+ return g;
}
void ModuleManager::RegisterModule(ModulePtr module) {