Commit: d0f688a33d8c778d271e361e9cf8e900d2b0ca94 Author: Antonio Vazquez Date: Mon Jul 27 23:10:29 2020 +0200 Branches: greasepencil-object https://developer.blender.org/rBd0f688a33d8c778d271e361e9cf8e900d2b0ca94
GPencil: Fix error when use perimter function The BKE function was changing the original stroke. Now a temp copy is done. =================================================================== M source/blender/blenkernel/intern/gpencil_geom.c =================================================================== diff --git a/source/blender/blenkernel/intern/gpencil_geom.c b/source/blender/blenkernel/intern/gpencil_geom.c index 5afe05ed168..99b9134d5e0 100644 --- a/source/blender/blenkernel/intern/gpencil_geom.c +++ b/source/blender/blenkernel/intern/gpencil_geom.c @@ -3067,18 +3067,19 @@ bGPDstroke *BKE_gpencil_stroke_perimeter_from_view(struct RegionView3D *rv3d, if (gps->totpoints == 0) { return NULL; } + bGPDstroke *gps_temp = BKE_gpencil_stroke_duplicate(gps, true); - BKE_gpencil_stroke_to_view_space(rv3d, gps, diff_mat); + BKE_gpencil_stroke_to_view_space(rv3d, gps_temp, diff_mat); int num_perimeter_points = 0; ListBase *perimeter_points = gpencil_stroke_perimeter_ex( - gpd, gpl, gps, subdivisions, &num_perimeter_points); + gpd, gpl, gps_temp, subdivisions, &num_perimeter_points); if (num_perimeter_points == 0) { return NULL; } /* create new stroke */ - bGPDstroke *perimeter_stroke = BKE_gpencil_stroke_new(gps->mat_nr, num_perimeter_points, 1); + bGPDstroke *perimeter_stroke = BKE_gpencil_stroke_new(gps_temp->mat_nr, num_perimeter_points, 1); tPerimeterPoint *curr = perimeter_points->first; for (int i = 0; i < num_perimeter_points; i++) { @@ -3107,6 +3108,8 @@ bGPDstroke *BKE_gpencil_stroke_perimeter_from_view(struct RegionView3D *rv3d, perimeter_stroke->flag |= GP_STROKE_SELECT | GP_STROKE_CYCLIC; + BKE_gpencil_free_stroke(gps_temp); + return perimeter_stroke; } /** \} */ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs