Blender Git Loki
Git Commits -> Revision d95e9c7
Revision d95e9c7 by Philipp Oeser (master) February 20, 2020, 12:28 (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: d95e9c7cf80ae2eb40728e7369216e48146a3a36
Parent Commit: b4ae962
Lines Changed: +41, -31
1 Modified Path:
/release/scripts/startup/bl_ui/space_toolsystem_common.py (+41, -31) (Diff)