From c6a199e2542b41b8f75a967579b1180d25196084 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Tue, 2 Jul 2019 10:50:31 +0200 Subject: Fix T66311: skin resize (ctrl+a) could crash could happen when used on multiple objects with multi edit, and skin modifier was not present on all participating objects Reviewers: brecht Maniphest Tasks: T66311 Differential Revision: https://developer.blender.org/D5165 --- source/blender/editors/transform/transform_conversions.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'source/blender/editors/transform/transform_conversions.c') diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 1ed0d5e9221..95c2f088e5d 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2935,11 +2935,16 @@ static void VertsToTransData(TransInfo *t, } else if (t->mode == TFM_SKIN_RESIZE) { MVertSkin *vs = CustomData_bmesh_get(&em->bm->vdata, eve->head.data, CD_MVERT_SKIN); - /* skin node size */ - td->ext = tx; - copy_v3_v3(tx->isize, vs->radius); - tx->size = vs->radius; - td->val = vs->radius; + if (vs) { + /* skin node size */ + td->ext = tx; + copy_v3_v3(tx->isize, vs->radius); + tx->size = vs->radius; + td->val = vs->radius; + } + else { + td->flag |= TD_SKIP; + } } else if (t->mode == TFM_SHRINKFATTEN) { td->ext = tx; -- cgit v1.2.3