Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-11-29 10:58:16 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-11-29 10:58:16 +0400
commit5380545c9780c8aabf050f0bdd4a547f45d9794e (patch)
tree0dca31a32af4cf3b6c53ab984a856dbf224c4931 /source/blender/blenkernel/intern/anim.c
parente3c6e47a382e6a8c92482cda048b396e0e9cc581 (diff)
parent3f57c06c7b8f01e16109c8bdbaba9643fe380d3c (diff)
svn merge ^/trunk/blender -r42221:42245
Diffstat (limited to 'source/blender/blenkernel/intern/anim.c')
-rw-r--r--source/blender/blenkernel/intern/anim.c31
1 files changed, 6 insertions, 25 deletions
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c
index 4ebdd40a8fd..ac104dfe206 100644
--- a/source/blender/blenkernel/intern/anim.c
+++ b/source/blender/blenkernel/intern/anim.c
@@ -1017,7 +1017,7 @@ static void face_duplilist(ListBase *lb, ID *id, Scene *scene, Object *par, floa
MLoop *mloop;
MVert *mvert;
float pmat[4][4], imat[3][3], (*orco)[3] = NULL, w;
- int lay, oblay, totface, totloop, a;
+ int lay, oblay, totface, a;
Scene *sce = NULL;
Group *group = NULL;
GroupObject *go = NULL;
@@ -1031,30 +1031,17 @@ static void face_duplilist(ListBase *lb, ID *id, Scene *scene, Object *par, floa
em = me->edit_btmesh;
if(em) {
- int totvert;
dm= editbmesh_get_derived_cage(scene, par, em, CD_MASK_BAREMESH);
-
- totface= dm->getNumFaces(dm);
- mpoly= MEM_mallocN(sizeof(MPoly)*totface, "mface temp");
- dm->copyPolyArray(dm, mpoly);
-
- totloop= dm->numLoopData; /* BMESH_TODO, we should have an api function for this! */
- mloop= MEM_mallocN(sizeof(MLoop)*totloop, "mloop temp");
- dm->copyLoopArray(dm, mloop);
-
- totvert= dm->getNumVerts(dm);
- mvert= MEM_mallocN(sizeof(MVert)*totvert, "mvert temp");
- dm->copyVertArray(dm, mvert);
}
else {
dm = mesh_get_derived_deform(scene, par, CD_MASK_BAREMESH);
-
- totface= dm->getNumFaces(dm);
- mpoly= dm->getPolyArray(dm);
- mloop= dm->getLoopArray(dm);
- mvert= dm->getVertArray(dm);
}
+ totface= dm->getNumFaces(dm);
+ mpoly= dm->getPolyArray(dm);
+ mloop= dm->getLoopArray(dm);
+ mvert= dm->getVertArray(dm);
+
if(G.rendering) {
orco= (float(*)[3])get_mesh_orco_verts(par);
@@ -1199,12 +1186,6 @@ static void face_duplilist(ListBase *lb, ID *id, Scene *scene, Object *par, floa
if (sce) base= base->next; /* scene loop */
else go= go->next; /* group loop */
}
-
- if(em) {
- MEM_freeN(mpoly);
- MEM_freeN(mloop);
- MEM_freeN(mvert);
- }
if(orco)
MEM_freeN(orco);