diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2020-02-05 13:08:15 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2020-02-05 13:08:33 +0300 |
commit | db0121a0099836113e7babe7f006e99e4f6ed69f (patch) | |
tree | b79e7cfaf48436567fb59a94b84ade30d2f8b8de | |
parent | 93a46f7d08970ea4359ce289552ca5fed6b73259 (diff) |
Fix T73580: Gpencil crash when try to draw without eraser brush available
-rw-r--r-- | release/scripts/startup/bl_ui/properties_paint_common.py | 2 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_paint.c | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/release/scripts/startup/bl_ui/properties_paint_common.py b/release/scripts/startup/bl_ui/properties_paint_common.py index 93bf5eca052..8b4f86b2879 100644 --- a/release/scripts/startup/bl_ui/properties_paint_common.py +++ b/release/scripts/startup/bl_ui/properties_paint_common.py @@ -996,6 +996,8 @@ def brush_basic_texpaint_settings(layout, context, brush, *, compact=False): def brush_basic_gpencil_paint_settings(layout, context, brush, *, compact=False): gp_settings = brush.gpencil_settings tool = context.workspace.tools.from_space_view3d_mode(context.mode, create=False) + if gp_settings is None: + return # Brush details if brush.gpencil_tool == 'ERASE': diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c index 6a91417e7f3..e07071e5e67 100644 --- a/source/blender/editors/gpencil/gpencil_paint.c +++ b/source/blender/editors/gpencil/gpencil_paint.c @@ -1963,6 +1963,9 @@ static Brush *gp_get_default_eraser(Main *bmain, ToolSettings *ts) Paint *paint = &ts->gp_paint->paint; Brush *brush_old = paint->brush; for (Brush *brush = bmain->brushes.first; brush; brush = brush->id.next) { + if (brush->gpencil_settings == NULL) { + continue; + } if ((brush->ob_mode == OB_MODE_PAINT_GPENCIL) && (brush->gpencil_tool == GPAINT_TOOL_ERASE)) { /* save first eraser to use later if no default */ if (brush_dft == NULL) { |