From 616897d0db674275b0f8d962f220f8d722a976d5 Mon Sep 17 00:00:00 2001 From: Martin Poirier Date: Tue, 24 Mar 2009 19:39:43 +0000 Subject: Bad crash in volume snapping code when duplis where involved. Found out using Coverity's scan report. --- source/blender/src/transform_snap.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/source/blender/src/transform_snap.c b/source/blender/src/transform_snap.c index bedfaf60b77..b43984af1a6 100644 --- a/source/blender/src/transform_snap.c +++ b/source/blender/src/transform_snap.c @@ -1563,11 +1563,21 @@ int peelObjects(ListBase *depth_peels, short mval[2]) Object *ob = dupli_ob->ob; if (ob->type == OB_MESH) { - DerivedMesh *dm; - int editmesh = 0; + DerivedMesh *dm = NULL; int val; - val = peelDerivedMesh(ob, dm, dupli_ob->mat, ray_start, ray_normal, mval, depth_peels); + if (ob != G.obedit) + { + dm = mesh_get_derived_final(ob, CD_MASK_BAREMESH); + + val = peelDerivedMesh(ob, dm, dupli_ob->mat, ray_start, ray_normal, mval, depth_peels); + } + else + { + dm = editmesh_get_derived_cage(CD_MASK_BAREMESH); + + val = peelDerivedMesh(ob, dm, dupli_ob->mat, ray_start, ray_normal, mval, depth_peels); + } retval = retval || val; -- cgit v1.2.3