Fix knife bug exposed by valgrind.

Was reading cage coordinate from those of existing
BMVerts even for newly created verts that don't
have cage coordinates there.
This commit is contained in:
Howard Trickey 2013-11-06 15:27:19 +00:00
parent 3e6c369888
commit 3143536b08

@ -348,12 +348,17 @@ static KnifeVert *new_knife_vert(KnifeTool_OpData *kcd, const float co[3], const
static KnifeVert *get_bm_knife_vert(KnifeTool_OpData *kcd, BMVert *v)
{
KnifeVert *kfv = BLI_ghash_lookup(kcd->origvertmap, v);
const float *cageco;
if (!kfv) {
BMIter bmiter;
BMFace *f;
kfv = new_knife_vert(kcd, v->co, kcd->cagecos[BM_elem_index_get(v)]);
if (BM_elem_index_get(v) >= 0)
cageco = kcd->cagecos[BM_elem_index_get(v)];
else
cageco = v->co;
kfv = new_knife_vert(kcd, v->co, cageco);
kfv->v = v;
BLI_ghash_insert(kcd->origvertmap, v, kfv);
BM_ITER_ELEM (f, &bmiter, v, BM_FACES_OF_VERT) {