From 79783510863445b5068eef092a1f2650733a5b02 Mon Sep 17 00:00:00 2001 From: saturneric Date: Thu, 14 Dec 2023 16:58:53 +0800 Subject: fix: slove some memory issues --- src/core/module/ModuleManager.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/core/module/ModuleManager.cpp') 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()) {} ModuleManager::~ModuleManager() = default; auto ModuleManager::GetInstance() -> ModuleMangerPtr { - if (g_ == nullptr) g_ = std::shared_ptr(new ModuleManager()); - return g_; + static ModuleMangerPtr g = SecureCreateSharedObject(); + return g; } void ModuleManager::RegisterModule(ModulePtr module) { -- cgit v1.2.3