summaryrefslogtreecommitdiff
path: root/src/shader.cpp
diff options
context:
space:
mode:
authorsapier <Sapier at GMX dot net>2014-07-02 23:33:18 +0200
committersapier <Sapier at GMX dot net>2014-07-02 23:33:18 +0200
commitb8343cd11c834fb2613b104418ed08e9fdb1665a (patch)
tree27194eb00fb695367fcd5cb0e281639bf75a48b1 /src/shader.cpp
parent3d6d66b181b894180164aa34aab7b2029bef1bf4 (diff)
downloadminetest-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.cpp7
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,