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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2010-08-12 20:46:03 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2010-08-12 20:46:03 +0400
commit5fa95f69287bbf4c90734aa700436e9da009cdee (patch)
tree01a28c2dbfa4c53a2caace8af3c3f5b9a7598bc2
parent9f01264610f74723e527fdb623d112af9d0dd477 (diff)
Fix #22777: duplifaces don't take deforming modifiers into account
while in edit mode.
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 8b1443403a3..663fbb89b4e 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1189,10 +1189,15 @@ static void emDM_getFace(DerivedMesh *dm, int index, MFace *face_r)
static void emDM_copyVertArray(DerivedMesh *dm, MVert *vert_r)
{
- EditVert *ev = ((EditMeshDerivedMesh *)dm)->em->verts.first;
+ EditMeshDerivedMesh *emdm= (EditMeshDerivedMesh*) dm;
+ EditVert *ev = emdm->em->verts.first;
+ int i;
- for( ; ev; ev = ev->next, ++vert_r) {
- VECCOPY(vert_r->co, ev->co);
+ for(i=0; ev; ev = ev->next, ++vert_r, ++i) {
+ if(emdm->vertexCos)
+ copy_v3_v3(vert_r->co, emdm->vertexCos[i]);
+ else
+ copy_v3_v3(vert_r->co, ev->co);
vert_r->no[0] = ev->no[0] * 32767.0;
vert_r->no[1] = ev->no[1] * 32767.0;