From 6ddd54f5a5cad17d7d5e8b7b48a4616d71267aaa Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 7 Mar 2014 14:37:14 +1100 Subject: Fix T38990: Crash in mask shape re-key --- source/blender/editors/mask/mask_shapekey.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'source/blender/editors/mask/mask_shapekey.c') diff --git a/source/blender/editors/mask/mask_shapekey.c b/source/blender/editors/mask/mask_shapekey.c index cea350219c0..9dcc0aa063d 100644 --- a/source/blender/editors/mask/mask_shapekey.c +++ b/source/blender/editors/mask/mask_shapekey.c @@ -272,16 +272,18 @@ static int mask_shape_key_rekey_exec(bContext *C, wmOperator *op) } if (masklay->splines_shapes.first) { - MaskLayerShape *masklay_shape; + MaskLayerShape *masklay_shape, *masklay_shape_next; MaskLayerShape *masklay_shape_lastsel = NULL; for (masklay_shape = masklay->splines_shapes.first; masklay_shape; - masklay_shape = masklay_shape->next) + masklay_shape = masklay_shape_next) { MaskLayerShape *masklay_shape_a = NULL; MaskLayerShape *masklay_shape_b = NULL; + masklay_shape_next = masklay_shape->next; + /* find contiguous selections */ if (masklay_shape->flag & MASK_SHAPE_SELECT) { if (masklay_shape_lastsel == NULL) { @@ -293,6 +295,9 @@ static int mask_shape_key_rekey_exec(bContext *C, wmOperator *op) masklay_shape_a = masklay_shape_lastsel; masklay_shape_b = masklay_shape; masklay_shape_lastsel = NULL; + + /* this will be freed below, sep over selection */ + masklay_shape_next = masklay_shape->next; } } -- cgit v1.2.3