src/wieldmesh.cpp: Fix mesh extrusion memory leak
authorBřetislav Štec <valsiterb@gmail.com>
Sat, 1 Aug 2015 22:16:31 +0000 (00:16 +0200)
committerkwolekr <kwolekr@minetest.net>
Sun, 2 Aug 2015 06:16:30 +0000 (02:16 -0400)
src/wieldmesh.cpp

index 56c84b9592ad77abeab824dfa4605eed5523bb1c..391a456ab0e488ba308707fa63d2b9e48bd464db 100644 (file)
@@ -37,7 +37,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #define MIN_EXTRUSION_MESH_RESOLUTION 16
 #define MAX_EXTRUSION_MESH_RESOLUTION 512
 
-static scene::IMeshcreateExtrusionMesh(int resolution_x, int resolution_y)
+static scene::IMesh *createExtrusionMesh(int resolution_x, int resolution_y)
 {
        const f32 r = 0.5;
 
@@ -114,8 +114,9 @@ static scene::IMesh* createExtrusionMesh(int resolution_x, int resolution_y)
        mesh->addMeshBuffer(buf);
        buf->drop();
        scaleMesh(mesh, scale);  // also recalculates bounding box
-       mesh = (scene::SMesh *)createForsythOptimizedMesh(mesh);
-       return mesh;
+       scene::IMesh *newmesh = createForsythOptimizedMesh(mesh);
+       mesh->drop();
+       return newmesh;
 }
 
 /*