diff options
-rw-r--r-- | release/scripts/startup/bl_ui/properties_paint_common.py | 2 | ||||
-rw-r--r-- | source/blender/editors/gpencil/gpencil_paint.c | 3 | ||||
-rw-r--r-- | source/blender/editors/physics/physics_fluid.c | 8 |
3 files changed, 13 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 a9e8cae3c8b..ec3dec6c54d 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 09ff24f05fc..92d69ecec41 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) { diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c index 63979e247bf..af77d966c9d 100644 --- a/source/blender/editors/physics/physics_fluid.c +++ b/source/blender/editors/physics/physics_fluid.c @@ -537,6 +537,8 @@ static int fluid_bake_exec(struct bContext *C, struct wmOperator *op) if (!fluid_validatepaths(job, op->reports)) { return OPERATOR_CANCELLED; } + WM_report_banners_cancel(job->bmain); + fluid_bake_startjob(job, NULL, NULL, NULL); fluid_bake_endjob(job); fluid_bake_free(job); @@ -564,6 +566,9 @@ static int fluid_bake_invoke(struct bContext *C, return OPERATOR_CANCELLED; } + /* Clear existing banners so that the upcoming progress bar from this job has more room. */ + WM_report_banners_cancel(job->bmain); + wmJob *wm_job = WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), scene, @@ -638,6 +643,9 @@ static int fluid_free_exec(struct bContext *C, struct wmOperator *op) return OPERATOR_CANCELLED; } + /* Clear existing banners so that the upcoming progress bar from this job has more room. */ + WM_report_banners_cancel(job->bmain); + wmJob *wm_job = WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C), scene, |