diff options
author | Joshua Leung <aligorith@gmail.com> | 2018-08-21 08:05:27 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2018-08-21 08:05:27 +0300 |
commit | 4f06c7c8389d144394efdda8829f3d01283694d6 (patch) | |
tree | 3f4a4f54d88443e79ad545ccda0337f20ac9536f /source/blender/editors/gpencil/gpencil_ops.c | |
parent | 2a5f319465b2d94ddff1d3d1402d3c46e4e2c0e8 (diff) |
Fix T56457: Crash when selecting Grease Pencil objects
Thanks to Charlie Jolly (@charlie) for the backtrace
Diffstat (limited to 'source/blender/editors/gpencil/gpencil_ops.c')
-rw-r--r-- | source/blender/editors/gpencil/gpencil_ops.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c index 67e3d484596..d39dd085add 100644 --- a/source/blender/editors/gpencil/gpencil_ops.c +++ b/source/blender/editors/gpencil/gpencil_ops.c @@ -129,7 +129,8 @@ static bool gp_stroke_paintmode_draw_poll(bContext *C) bGPdata *gpd = CTX_data_gpencil_data(C); ToolSettings *ts = CTX_data_tool_settings(C); Brush *brush = BKE_brush_getactive_gpencil(ts); - return (gpd && (gpd->flag & GP_DATA_STROKE_PAINTMODE) && (brush) && + return ((gpd) && (gpd->flag & GP_DATA_STROKE_PAINTMODE) && + (brush && brush->gpencil_settings) && (brush->gpencil_settings->brush_type == GP_BRUSH_TYPE_DRAW)); } @@ -140,7 +141,8 @@ static bool gp_stroke_paintmode_erase_poll(bContext *C) bGPdata *gpd = CTX_data_gpencil_data(C); ToolSettings *ts = CTX_data_tool_settings(C); Brush *brush = BKE_brush_getactive_gpencil(ts); - return (gpd && (gpd->flag & GP_DATA_STROKE_PAINTMODE) && (brush) && + return ((gpd) && (gpd->flag & GP_DATA_STROKE_PAINTMODE) && + (brush && brush->gpencil_settings) && (brush->gpencil_settings->brush_type == GP_BRUSH_TYPE_ERASE)); } @@ -151,7 +153,8 @@ static bool gp_stroke_paintmode_fill_poll(bContext *C) bGPdata *gpd = CTX_data_gpencil_data(C); ToolSettings *ts = CTX_data_tool_settings(C); Brush *brush = BKE_brush_getactive_gpencil(ts); - return (gpd && (gpd->flag & GP_DATA_STROKE_PAINTMODE) && (brush) && + return ((gpd) && (gpd->flag & GP_DATA_STROKE_PAINTMODE) && + (brush && brush->gpencil_settings) && (brush->gpencil_settings->brush_type == GP_BRUSH_TYPE_FILL)); } |