diff options
author | sapier <Sapier at GMX dot net> | 2014-07-02 23:33:18 +0200 |
---|---|---|
committer | sapier <Sapier at GMX dot net> | 2014-07-02 23:33:18 +0200 |
commit | b8343cd11c834fb2613b104418ed08e9fdb1665a (patch) | |
tree | 27194eb00fb695367fcd5cb0e281639bf75a48b1 /src/shader.cpp | |
parent | 3d6d66b181b894180164aa34aab7b2029bef1bf4 (diff) | |
download | minetest-b8343cd11c834fb2613b104418ed08e9fdb1665a.tar.gz minetest-b8343cd11c834fb2613b104418ed08e9fdb1665a.tar.bz2 minetest-b8343cd11c834fb2613b104418ed08e9fdb1665a.zip |
Fix memory leaks in GenericCAO, ShaderSource and Player classes
Diffstat (limited to 'src/shader.cpp')
-rw-r--r-- | src/shader.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/shader.cpp b/src/shader.cpp index f855a7fe3..ef15f29ba 100644 --- a/src/shader.cpp +++ b/src/shader.cpp @@ -383,13 +383,16 @@ ShaderSource::ShaderSource(IrrlichtDevice *device): ShaderSource::~ShaderSource() { - //m_shader_callback->drop(); - for (std::vector<IShaderConstantSetter*>::iterator iter = m_global_setters.begin(); iter != m_global_setters.end(); iter++) { delete *iter; } m_global_setters.clear(); + + if (m_shader_callback) { + m_shader_callback->drop(); + m_shader_callback = NULL; + } } u32 ShaderSource::getShader(const std::string &name, |