[Bf-blender-cvs] [f81190f85f6] blender-v3.0-release: Fix T92760: Crash erasing GPencil when occlusion test is enabled

Germano Cavalcante noreply at git.blender.org
Wed Nov 3 14:22:49 CET 2021


Commit: f81190f85f65b292a0f0dfaa0a8d5b0f7fd72c58
Author: Germano Cavalcante
Date:   Wed Nov 3 10:21:56 2021 -0300
Branches: blender-v3.0-release
https://developer.blender.org/rBf81190f85f65b292a0f0dfaa0a8d5b0f7fd72c58

Fix T92760: Crash erasing GPencil when occlusion test is enabled

`pt0` was read when `NULL` and `is_occluded_pt1` could be read even if
it is not initialized.

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

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

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

diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 070470b3734..3e9f22f25d3 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -1582,10 +1582,12 @@ static void gpencil_stroke_eraser_dostroke(tGPsdata *p,
          */
         if (gpencil_stroke_inside_circle(mval, radius, pc0[0], pc0[1], pc2[0], pc2[1])) {
 
-          bool is_occluded_pt0, is_occluded_pt1, is_occluded_pt2 = true;
-          is_occluded_pt0 = (pt0 && ((pt0->flag & GP_SPOINT_TEMP_TAG) != 0)) ?
-                                ((pt0->flag & GP_SPOINT_TEMP_TAG2) != 0) :
-                                gpencil_stroke_eraser_is_occluded(p, gpl, pt0, pc0[0], pc0[1]);
+          bool is_occluded_pt0 = true, is_occluded_pt1 = true, is_occluded_pt2 = true;
+          if (pt0) {
+            is_occluded_pt0 = ((pt0->flag & GP_SPOINT_TEMP_TAG) != 0) ?
+                                  ((pt0->flag & GP_SPOINT_TEMP_TAG2) != 0) :
+                                  gpencil_stroke_eraser_is_occluded(p, gpl, pt0, pc0[0], pc0[1]);
+          }
           if (is_occluded_pt0) {
             is_occluded_pt1 = ((pt1->flag & GP_SPOINT_TEMP_TAG) != 0) ?
                                   ((pt1->flag & GP_SPOINT_TEMP_TAG2) != 0) :



More information about the Bf-blender-cvs mailing list