From 191167f9d38f9d62049bf47a71aba70c56ae4a93 Mon Sep 17 00:00:00 2001 From: kearwood Date: Fri, 19 Aug 2022 20:10:03 -0700 Subject: [PATCH] Added KRSamplerManager::destroy() --- kraken/KRContext.cpp | 3 +++ kraken/KRSamplerManager.cpp | 9 +++++++++ kraken/KRSamplerManager.h | 1 + 3 files changed, 13 insertions(+) diff --git a/kraken/KRContext.cpp b/kraken/KRContext.cpp index 8878944..d50f684 100755 --- a/kraken/KRContext.cpp +++ b/kraken/KRContext.cpp @@ -149,6 +149,9 @@ KRContext::~KRContext() m_pTextureManager->destroy(); m_pTextureManager.reset(); m_pPipelineManager.reset(); + if (m_pSamplerManager) { + m_pSamplerManager->destroy(); + } m_pSamplerManager.reset(); m_pAnimationManager.reset(); m_pAnimationCurveManager.reset(); diff --git a/kraken/KRSamplerManager.cpp b/kraken/KRSamplerManager.cpp index 42f4b04..793b7a6 100644 --- a/kraken/KRSamplerManager.cpp +++ b/kraken/KRSamplerManager.cpp @@ -50,6 +50,15 @@ KRSamplerManager::KRSamplerManager(KRContext& context) KRSamplerManager::~KRSamplerManager() { + +} + +void KRSamplerManager::destroy() +{ + for (SamplerMap::iterator itr = m_samplers.begin(); itr != m_samplers.end(); ++itr) { + delete (*itr).second; + } + m_samplers.clear(); } KRSampler* KRSamplerManager::getSampler(const SamplerInfo& info) diff --git a/kraken/KRSamplerManager.h b/kraken/KRSamplerManager.h index 13233f4..862b9fb 100644 --- a/kraken/KRSamplerManager.h +++ b/kraken/KRSamplerManager.h @@ -65,6 +65,7 @@ public: virtual ~KRSamplerManager(); KRSampler* getSampler(const SamplerInfo& info); + void destroy(); private: typedef std::unordered_map SamplerMap; SamplerMap m_samplers;