diff options
Diffstat (limited to 'src/core/module/ModuleManager.cpp')
-rw-r--r-- | src/core/module/ModuleManager.cpp | 7 |
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) { |