src/client.cpp: Fix mapper memory leak
authorBřetislav Štec <valsiterb@gmail.com>
Sat, 1 Aug 2015 23:31:57 +0000 (01:31 +0200)
committerkwolekr <kwolekr@minetest.net>
Sun, 2 Aug 2015 06:15:38 +0000 (02:15 -0400)
src/client.cpp

index fdabfa2d8fc44f2b1b141b2f82bac58f3e4747f1..d4d3b6df64b36d8dd49aa2fbcfa9db6cc2a2beef 100644 (file)
@@ -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,