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