Commit: 42a517779ab3d1f884195282744dd57444641a38 Author: Philipp Oeser Date: Mon May 25 11:58:08 2020 +0200 Branches: blender-v2.83-release https://developer.blender.org/rB42a517779ab3d1f884195282744dd57444641a38
Fix T77047: Dyntopo Sample detail size on hidden mesh causes crash The `Toolbar` and `Sidebar` hide the corresponding panel `VIEW3D_PT_sculpt_dyntopo` by polling for context.sculpt_object and context.tool_settings.sculpt. In the Active Tool in the Properties Editor this poll does not return False though, thus the sample_detail_size is possible from there. Second security check (the operator poll `SCULPT_mode_poll`) checks the active object -- that is still valid even if hidden, so we are allowed to execute the operator. However the active object becomes NULL once the area is switched in `sample_detail()` -- see `CTX_wm_area_set`), leading to the crash. Dont think there is a quick and easy way to do this in the poll from the Properties Editor, so just check for a valid active abject in the operator and return OPERATOR_CANCELLED if we dont have it. Maniphest Tasks: T77047 Differential Revision: https://developer.blender.org/D7832 =================================================================== M source/blender/editors/sculpt_paint/sculpt_detail.c =================================================================== diff --git a/source/blender/editors/sculpt_paint/sculpt_detail.c b/source/blender/editors/sculpt_paint/sculpt_detail.c index a99aa3d1bcf..145f0c752a5 100644 --- a/source/blender/editors/sculpt_paint/sculpt_detail.c +++ b/source/blender/editors/sculpt_paint/sculpt_detail.c @@ -259,8 +259,11 @@ static int sample_detail(bContext *C, int mx, int my, int mode) ED_view3d_viewcontext_init(C, &vc, depsgraph); Object *ob = vc.obact; - SculptSession *ss = ob->sculpt; + if (ob == NULL) { + return OPERATOR_CANCELLED; + } + SculptSession *ss = ob->sculpt; if (!ss->pbvh) { return OPERATOR_CANCELLED; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs