[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42367] branches/bmesh/blender/source/ blender/blenkernel/intern/DerivedMesh.c: fix for derived mesh buffer overrun caused by using an incorrect loop length .
Campbell Barton
ideasman42 at gmail.com
Sat Dec 3 03:11:48 CET 2011
Revision: 42367
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42367
Author: campbellbarton
Date: 2011-12-03 02:11:38 +0000 (Sat, 03 Dec 2011)
Log Message:
-----------
fix for derived mesh buffer overrun caused by using an incorrect loop length.
editmode extruding would crash instantly when dupli-faces were enabled.
Modified Paths:
--------------
branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
Modified: branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c 2011-12-03 01:12:57 UTC (rev 42366)
+++ branches/bmesh/blender/source/blender/blenkernel/intern/DerivedMesh.c 2011-12-03 02:11:38 UTC (rev 42367)
@@ -135,7 +135,7 @@
if (!mloop) {
mloop = CustomData_add_layer(&dm->loopData, CD_MLOOP, CD_CALLOC, NULL,
- dm->numLoopData);
+ dm->getNumLoops(dm));
CustomData_set_layer_flag(&dm->loopData, CD_MLOOP, CD_FLAG_TEMPORARY);
dm->copyLoopArray(dm, mloop);
}
@@ -365,8 +365,8 @@
totvert = tmp.totvert = dm->getNumVerts(dm);
totedge = tmp.totedge = dm->getNumEdges(dm);
+ totloop = tmp.totloop = dm->getNumLoops(dm);
totpoly = tmp.totpoly = dm->getNumPolys(dm);
- totloop = tmp.totloop = dm->numLoopData;
CustomData_copy(&dm->vertData, &tmp.vdata, CD_MASK_MESH, CD_DUPLICATE, totvert);
CustomData_copy(&dm->edgeData, &tmp.edata, CD_MASK_MESH, CD_DUPLICATE, totedge);
More information about the Bf-blender-cvs
mailing list