Page MenuHome

Fix T77047: Dyntopo Sample detail size on hidden mesh causes crash
ClosedPublic

Authored by Philipp Oeser (lichtwerk) on May 25 2020, 11:59 AM.

Details

Summary

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.

Diff Detail

Repository
rB Blender