[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36650] branches/bmesh/blender/source/ blender: =bmesh= fixed knifetool mem leak
Joseph Eagar
joeedh at gmail.com
Thu May 12 20:46:21 CEST 2011
Revision: 36650
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36650
Author: joeedh
Date: 2011-05-12 18:46:21 +0000 (Thu, 12 May 2011)
Log Message:
-----------
=bmesh= fixed knifetool mem leak
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c
branches/bmesh/blender/source/blender/editors/mesh/knifetool.c
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c 2011-05-12 18:33:10 UTC (rev 36649)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/editderivedbmesh.c 2011-05-12 18:46:21 UTC (rev 36650)
@@ -133,9 +133,6 @@
if (tm->looptris) MEM_freeN(tm->looptris);
-#if 0 //simple quad/triangle code for performance testing purposes
- looptris = MEM_callocN(sizeof(void*)*bm->totface*8, "looptris");
-
f = BMIter_New(&iter, bm, BM_FACES_OF_MESH, NULL);
for ( ; f; f=BMIter_Step(&iter)) {
EditVert *v, *lastv=NULL, *firstv=NULL;
@@ -145,42 +142,6 @@
/*don't consider two-edged faces*/
if (f->len < 3) continue;
- //BLI_array_growone(looptris);
- //BLI_array_growone(looptris);
- //BLI_array_growone(looptris);
-
- looptris[i*3] = f->loopbase;
- looptris[i*3+1] = f->loopbase->head.next;
- looptris[i*3+2] = f->loopbase->head.next->next;
- i++;
-
- if (f->len > 3) {
- //BLI_array_growone(looptris);
- //BLI_array_growone(looptris);
- //BLI_array_growone(looptris);
-
- looptris[i*3] = f->loopbase;
- looptris[i*3+1] = f->loopbase->head.next->next;
- looptris[i*3+2] = f->loopbase->head.next->next->next;
- i++;
- }
-
- }
-
- tm->tottri = i;
- tm->looptris = looptris;
- return;
-#endif
-
- f = BMIter_New(&iter, bm, BM_FACES_OF_MESH, NULL);
- for ( ; f; f=BMIter_Step(&iter)) {
- EditVert *v, *lastv=NULL, *firstv=NULL;
- EditEdge *e;
- EditFace *efa;
-
- /*don't consider two-edged faces*/
- if (f->len < 3) continue;
-
BLI_begin_edgefill();
/*scanfill time*/
l = BMIter_New(&liter, bm, BM_LOOPS_OF_FACE, f);
Modified: branches/bmesh/blender/source/blender/editors/mesh/knifetool.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/knifetool.c 2011-05-12 18:33:10 UTC (rev 36649)
+++ branches/bmesh/blender/source/blender/editors/mesh/knifetool.c 2011-05-12 18:46:21 UTC (rev 36650)
@@ -886,7 +886,9 @@
if (results)
MEM_freeN(results);
+ BLI_bvhtree_free(tree2);
*count = BLI_array_count(edges);
+
return edges;
}
@@ -1813,8 +1815,10 @@
}
obedit = CTX_data_edit_object(C);
- if (!obedit || obedit->type != OB_MESH || ((Mesh*)obedit->data)->edit_btmesh != kcd->em)
+ if (!obedit || obedit->type != OB_MESH || ((Mesh*)obedit->data)->edit_btmesh != kcd->em) {
+ knifetool_exit(C, op);
return OPERATOR_FINISHED;
+ }
view3d_operator_needs_opengl(C);
More information about the Bf-blender-cvs
mailing list