Commit: 5dd747a54cfb8f0f822b02c8b932083f016b11c8
Author: Antonio Vazquez
Date:   Sat Mar 12 10:33:32 2022 +0100
Branches: blender-v3.1-release
https://developer.blender.org/rB5dd747a54cfb8f0f822b02c8b932083f016b11c8

Fix T96352: Gpencil crash using Normalize Thickness with Curves

The stroke curve data could be NULL.

===================================================================

M       source/blender/editors/gpencil/gpencil_edit.c

===================================================================

diff --git a/source/blender/editors/gpencil/gpencil_edit.c 
b/source/blender/editors/gpencil/gpencil_edit.c
index afb786da8c6..2ac7ec4f25c 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -5445,9 +5445,10 @@ static int gpencil_stroke_normalize_exec(bContext *C, 
wmOperator *op)
           if (ED_gpencil_stroke_can_use(C, gps) == false) {
             continue;
           }
-
-          bool selected = (is_curve_edit) ? gps->editcurve->flag |= 
GP_CURVE_SELECT :
-                                            (gps->flag & GP_STROKE_SELECT);
+          bool is_curve_ready = (gps->editcurve != NULL);
+          bool selected = (is_curve_edit && is_curve_ready) ?
+                              gps->editcurve->flag |= GP_CURVE_SELECT :
+                              (gps->flag & GP_STROKE_SELECT);
           if (!selected) {
             continue;
           }
@@ -5460,7 +5461,7 @@ static int gpencil_stroke_normalize_exec(bContext *C, 
wmOperator *op)
           }
 
           /* Loop all Polyline points. */
-          if (!is_curve_edit) {
+          if (!is_curve_edit || !is_curve_ready) {
             for (int i = 0; i < gps->totpoints; i++) {
               bGPDspoint *pt = &gps->points[i];
               if (mode == GP_NORMALIZE_THICKNESS) {

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to