From ebe7b31538d44277db0eeccfddef13917baa2ee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C5=99etislav=20=C5=A0tec?= Date: Sun, 2 Aug 2015 01:31:57 +0200 Subject: [PATCH] src/client.cpp: Fix mapper memory leak --- src/client.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index fdabfa2d..d4d3b6df 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -291,7 +291,7 @@ Client::~Client() m_mesh_update_thread.Stop(); m_mesh_update_thread.Wait(); - while(!m_mesh_update_thread.m_queue_out.empty()) { + while (!m_mesh_update_thread.m_queue_out.empty()) { MeshUpdateResult r = m_mesh_update_thread.m_queue_out.pop_frontNoEx(); delete r.mesh; } @@ -300,20 +300,22 @@ Client::~Client() delete m_inventory_from_server; // Delete detached inventories - for(std::map::iterator + for (std::map::iterator i = m_detached_inventories.begin(); - i != m_detached_inventories.end(); i++){ + i != m_detached_inventories.end(); ++i) { delete i->second; } // cleanup 3d model meshes on client shutdown while (m_device->getSceneManager()->getMeshCache()->getMeshCount() != 0) { - scene::IAnimatedMesh * mesh = + scene::IAnimatedMesh *mesh = m_device->getSceneManager()->getMeshCache()->getMeshByIndex(0); if (mesh != NULL) m_device->getSceneManager()->getMeshCache()->removeMesh(mesh); } + + delete m_mapper; } void Client::connect(Address address,