Commit: 29fb12da589eeb3bbc31b81874526208b35334cb Author: Antonio Vazquez Date: Mon Dec 7 19:08:29 2020 +0100 Branches: master https://developer.blender.org/rB29fb12da589eeb3bbc31b81874526208b35334cb
Fix T83510: Convert Gpencil to curve crash when stroke has zero points If the stroke had zero points the pointer returned NULL. Also replaced for loop by FOREACH macro. This is a corner case of "empty" strokes without points. =================================================================== M source/blender/editors/gpencil/gpencil_convert.c =================================================================== diff --git a/source/blender/editors/gpencil/gpencil_convert.c b/source/blender/editors/gpencil/gpencil_convert.c index 33b02d525d5..63aa242275a 100644 --- a/source/blender/editors/gpencil/gpencil_convert.c +++ b/source/blender/editors/gpencil/gpencil_convert.c @@ -1312,7 +1312,7 @@ static void gpencil_layer_to_curve(bContext *C, Scene *scene = CTX_data_scene(C); bGPDframe *gpf = BKE_gpencil_layer_frame_get(gpl, CFRA, GP_GETFRAME_USE_PREV); - bGPDstroke *gps, *prev_gps = NULL; + bGPDstroke *prev_gps = NULL; Object *ob; Curve *cu; Nurb *nu = NULL; @@ -1353,7 +1353,10 @@ static void gpencil_layer_to_curve(bContext *C, gtd->inittime = ((bGPDstroke *)gpf->strokes.first)->inittime; /* add points to curve */ - for (gps = gpf->strokes.first; gps; gps = gps->next) { + LISTBASE_FOREACH (bGPDstroke *, gps, &gpf->strokes) { + if (gps->totpoints < 1) { + continue; + } const bool add_start_point = (link_strokes && !(prev_gps)); const bool add_end_point = (link_strokes && !(gps->next)); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs