diff options
Diffstat (limited to 'source/blender/editors/mesh/editmesh.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c index b0c51131041..408c793751b 100644 --- a/source/blender/editors/mesh/editmesh.c +++ b/source/blender/editors/mesh/editmesh.c @@ -756,7 +756,7 @@ void make_editMesh(Scene *scene, Object *ob) EditFace *efa; EditEdge *eed; EditSelection *ese; - float *co; + float *co, (*keyco)[3]= NULL; int tot, a, eekadoodle= 0; if(me->edit_mesh==NULL) @@ -782,9 +782,9 @@ void make_editMesh(Scene *scene, Object *ob) actkey = ob_get_keyblock(ob); if(actkey) { - tot= actkey->totelem; /* undo-ing in past for previous editmode sessions gives corrupt 'keyindex' values */ undo_editmode_clear(); + keyco= actkey->data; } /* make editverts */ @@ -797,8 +797,8 @@ void make_editMesh(Scene *scene, Object *ob) co= mvert->co; /* edit the shape key coordinate if available */ - if(actkey && a < actkey->totelem) - co= (float*)actkey->data + 3*a; + if(keyco && a < actkey->totelem) + co= keyco[a]; eve= addvertlist(em, co, NULL); evlist[a]= eve; @@ -1201,7 +1201,7 @@ void load_editMesh(Scene *scene, Object *ob) while(eve) { if (eve->keyindex >= 0 && eve->keyindex < currkey->totelem) { // valid old vertex if(currkey == actkey) { - if (actkey == me->key->refkey) { + if(actkey == me->key->refkey) { VECCOPY(fp, mvert->co); } else { |