From 717d99795c70c4b64531efa0f3648a4a3515a135 Mon Sep 17 00:00:00 2001 From: Nekotekina Date: Sun, 6 Dec 2015 20:18:15 +0300 Subject: [PATCH] Memory leak fixed --- Utilities/config_context.cpp | 13 ------------- Utilities/config_context.h | 6 ++---- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/Utilities/config_context.cpp b/Utilities/config_context.cpp index 73581d51d1..5fed6c60b2 100644 --- a/Utilities/config_context.cpp +++ b/Utilities/config_context.cpp @@ -163,16 +163,3 @@ std::string config_context_t::to_string() const return result.str(); } - -void config_context_t::add_group(const std::string& name) -{ - new group(this, name); -} - -config_context_t::group& config_context_t::get_group(const std::string& name) -{ - if (!m_groups[name]) - add_group(name); - - return *m_groups[name]; -} diff --git a/Utilities/config_context.h b/Utilities/config_context.h index cfa32f2991..28eb2b34b0 100644 --- a/Utilities/config_context.h +++ b/Utilities/config_context.h @@ -14,6 +14,7 @@ protected: group* m_parent; config_context_t* m_cfg; std::string m_name; + std::vector> m_entries; void init(); @@ -30,7 +31,7 @@ protected: template void add_entry(const std::string& name, const T& def_value) { - new entry(this, name, def_value); + m_entries.emplace_back(std::make_unique>(this, name, def_value)); } template @@ -158,7 +159,4 @@ public: void set_defaults(); std::string to_string() const; - - void add_group(const std::string& name); - group& get_group(const std::string& name); };