Blender Git Loki
Git Commits -> Revision f9e5166
Revision f9e5166 by Philipp Oeser (blender-v2.82-release) March 10, 2020, 12:31 (GMT) |
Fix T63892: Tools cannot be registered into some contexts (e.g. PAINT_TEXTURE) This fails because some tool contexts define their tools with functions [see the following list for context that fail]: - PARTICLE (_defs_particle.generate_from_brushes) - SCULPT (_defs_sculpt.generate_from_brushes) - PAINT_TEXTURE (_defs_texture_paint.generate_from_brushes) - PAINT_VERTEX (_defs_vertex_paint.generate_from_brushes) - PAINT_WEIGHT (_defs_weight_paint.generate_from_brushes) - PAINT_GPENCIL (_defs_gpencil_paint.generate_from_brushes) - SCULPT_GPENCIL (_defs_gpencil_sculpt.generate_from_brushes) - WEIGHT_GPENCIL (_defs_gpencil_weight.generate_from_brushes) ToolSelectPanelHelper._tools_flatten() is usually called with cls.tools_from_context(context) [that already yields from the function]. But when registering a tool, _tools_flatten() will still give back this function, not a ToolDef - and we cannot get a bl_idname from that. Now check for this and yield None in that case. Also share logic across all tool_flatten functions: - _tools_flatten - _tools_flatten_with_tool_index - _tools_flatten_with_keymap Maniphest Tasks: T63892 Differential Revision: https://developer.blender.org/D6763 |
Commit Details:
Full Hash: f9e51662bd9605d0fe5b22977e33f2c9caa420fe
Parent Commit: 54f2d9d
Committed By: Nathan Letwory
Lines Changed: +41, -31
1 Modified Path:
/release/scripts/startup/bl_ui/space_toolsystem_common.py (+41, -31) (Diff)