Procházet zdrojové kódy

Merge pull request #770 from sgrenier/next

Fixed memory leak in Terrain.
Steve Grenier před 13 roky
rodič
revize
8399ee50cf
2 změnil soubory, kde provedl 6 přidání a 1 odebrání
  1. 1 1
      gameplay/src/RenderState.cpp
  2. 5 0
      gameplay/src/Terrain.cpp

+ 1 - 1
gameplay/src/RenderState.cpp

@@ -383,7 +383,7 @@ void RenderState::cloneInto(RenderState* renderState, NodeCloneContext& context)
 }
 }
 
 
 RenderState::StateBlock::StateBlock()
 RenderState::StateBlock::StateBlock()
-    : _cullFaceEnabled(false), _depthTestEnabled(false), _depthWriteEnabled(false), _depthFunction(RenderState::DEPTH_LESS),
+    : _cullFaceEnabled(false), _depthTestEnabled(false), _depthWriteEnabled(true), _depthFunction(RenderState::DEPTH_LESS),
       _blendEnabled(false), _blendSrc(RenderState::BLEND_ONE), _blendDst(RenderState::BLEND_ZERO),
       _blendEnabled(false), _blendSrc(RenderState::BLEND_ONE), _blendDst(RenderState::BLEND_ZERO),
       _bits(0L)
       _bits(0L)
 {
 {

+ 5 - 0
gameplay/src/Terrain.cpp

@@ -38,6 +38,11 @@ Terrain::Terrain() :
 
 
 Terrain::~Terrain()
 Terrain::~Terrain()
 {
 {
+    for (size_t i = 0, count = _patches.size(); i < count; ++i)
+    {
+        SAFE_DELETE(_patches[i]);
+    }
+
     if (_node)
     if (_node)
         _node->removeListener(this);
         _node->removeListener(this);