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

View File

@@ -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) {