[Bf-blender-cvs] [9f0a2f1] wiggly-widgets: Fix memory leak in facemap drawing

Julian Eisel noreply at git.blender.org
Thu Sep 17 14:59:00 CEST 2015


Commit: 9f0a2f1887aad2d5965772f7e8428dca0f087202
Author: Julian Eisel
Date:   Thu Sep 17 01:40:48 2015 +0200
Branches: wiggly-widgets
https://developer.blender.org/rB9f0a2f1887aad2d5965772f7e8428dca0f087202

Fix memory leak in facemap drawing

There's still some memory weirdness going on, but haven't found out what causes it yet.

===================================================================

M	source/blender/blenkernel/intern/cdderivedmesh.c
M	source/blender/gpu/intern/gpu_buffers.c

===================================================================

diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index e91db05..6c041af 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -1625,7 +1625,6 @@ static void cdDM_buffer_copy_facemap(DerivedMesh *dm, unsigned int *varray)
 			varray[fmap_offset++] = gdo->vert_points[mloop[ltri_iter->tri[1]].v].point_index;
 			varray[fmap_offset++] = gdo->vert_points[mloop[ltri_iter->tri[2]].v].point_index;
 		}
-
 	}
 
 	MEM_freeN(facemap_offset);
diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index 0f04504..d354cc3 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -491,6 +491,10 @@ void GPU_drawobject_free(DerivedMesh *dm)
 #ifdef USE_GPU_POINT_LINK
 	MEM_freeN(gdo->vert_points_mem);
 #endif
+	if (gdo->facemap_start)
+		MEM_freeN(gdo->facemap_start);
+	if (gdo->facemap_count)
+		MEM_freeN(gdo->facemap_count);
 	GPU_buffer_free(gdo->points);
 	GPU_buffer_free(gdo->normals);
 	GPU_buffer_free(gdo->uv);




More information about the Bf-blender-cvs mailing list