From b8343cd11c834fb2613b104418ed08e9fdb1665a Mon Sep 17 00:00:00 2001 From: sapier Date: Wed, 2 Jul 2014 23:33:18 +0200 Subject: Fix memory leaks in GenericCAO, ShaderSource and Player classes --- src/content_cao.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/content_cao.cpp') diff --git a/src/content_cao.cpp b/src/content_cao.cpp index a05936d2c..fe11d33da 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -670,6 +670,7 @@ GenericCAO::~GenericCAO() { m_env->removePlayerName(m_name.c_str()); } + removeFromScene(true); } core::aabbox3d* GenericCAO::getSelectionBox() @@ -735,7 +736,7 @@ ClientActiveObject* GenericCAO::getParent() void GenericCAO::removeFromScene(bool permanent) { - if(permanent) // Should be true when removing the object permanently and false when refreshing (eg: updating visuals) + if((m_env != 0) && (permanent)) // Should be true when removing the object permanently and false when refreshing (eg: updating visuals) { for(std::vector::iterator ci = m_children.begin(); ci != m_children.end(); ci++) -- cgit v1.2.3