From ebe7b31538d44277db0eeccfddef13917baa2ee7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?B=C5=99etislav=20=C5=A0tec?= <valsiterb@gmail.com>
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 fdabfa2d8..d4d3b6df6 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<std::string, Inventory*>::iterator
+	for (std::map<std::string, Inventory*>::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,
-- 
GitLab