From c1bf59bf07fe48c9310c0cbbb9689e782eaff422 Mon Sep 17 00:00:00 2001 From: Azaezel Date: Wed, 20 Feb 2019 16:59:58 -0600 Subject: [PATCH] destructor code+ removed a crash-causing redundancy in onRemove --- Engine/source/renderInstance/renderProbeMgr.cpp | 16 ++++++++++++++-- Engine/source/renderInstance/renderProbeMgr.h | 2 +- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Engine/source/renderInstance/renderProbeMgr.cpp b/Engine/source/renderInstance/renderProbeMgr.cpp index bd865ffac..561437e41 100644 --- a/Engine/source/renderInstance/renderProbeMgr.cpp +++ b/Engine/source/renderInstance/renderProbeMgr.cpp @@ -188,12 +188,24 @@ RenderProbeMgr::RenderProbeMgr(RenderInstType riType, F32 renderOrder, F32 proce { } +RenderProbeMgr::~RenderProbeMgr() +{ + mLastShader = NULL; + mLastConstants = NULL; + + for (ProbeConstantMap::Iterator i = mConstantLookup.begin(); i != mConstantLookup.end(); i++) + { + if (i->value) + SAFE_DELETE(i->value); + } + mConstantLookup.clear(); +} + void RenderProbeMgr::onRemove() { - SAFE_DELETE(mLastConstants); - Parent::onRemove(); } + void RenderProbeMgr::initPersistFields() { Parent::initPersistFields(); diff --git a/Engine/source/renderInstance/renderProbeMgr.h b/Engine/source/renderInstance/renderProbeMgr.h index 00fd5e17d..89c1df4be 100644 --- a/Engine/source/renderInstance/renderProbeMgr.h +++ b/Engine/source/renderInstance/renderProbeMgr.h @@ -191,7 +191,7 @@ class RenderProbeMgr : public RenderBinManager public: RenderProbeMgr(); RenderProbeMgr(RenderInstType riType, F32 renderOrder, F32 processAddOrder); - + virtual ~RenderProbeMgr(); virtual void onRemove(); // ConsoleObject