Commit: 89adf516cd17c6345ef74efc0c52e53edae3d519
Author: Germano Cavalcante
Date: Wed Nov 3 10:21:56 2021 -0300
Branches: blender-v2.93-release
https://developer.blender.org/rB89adf516cd17c6345ef74efc0c52e53edae3d519
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 cdf546e18b9..ee9c7924f2d 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -1594,10 +1594,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) :
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs