diff options
author | saturneric <[email protected]> | 2023-12-14 08:58:53 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2023-12-14 08:58:53 +0000 |
commit | 79783510863445b5068eef092a1f2650733a5b02 (patch) | |
tree | d8e6070b85467451c658ce4122c45a5a132e6d44 /src/core/module/ModuleManager.cpp | |
parent | fix: slove a memory issue found by valgrind (diff) | |
download | GpgFrontend-79783510863445b5068eef092a1f2650733a5b02.tar.gz GpgFrontend-79783510863445b5068eef092a1f2650733a5b02.zip |
fix: slove some memory issues
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) { |