Blender Git Commit Log
Git Commits -> Revision b80ed83
Revision b80ed83 by Philipp Oeser (master) September 29, 2021, 13:07 (GMT) |
Fix T89164: Sculpt "Smooth" brush crash with zero pressure Caused by {rB3e5431fdf439} Issue is that sculpting could start with using `SCULPT_smooth` and (because of the Pressure sensitivity dropping to zero) code would switch to `SCULPT_enhance_details_brush` at strength zero. Issue with this though is that this can be in the middle or end of a stroke and the necessary `ss->cache->detail_directions` are only initialized for the first brush step (see `SCULPT_stroke_is_first_brush_step` in `SCULPT_enhance_details_brush`). With these missing, it could only go downhill from there. Suggest to prevent the "mode-flip" from `SCULPT_smooth` to `SCULPT_enhance_details_brush` (happening solely because of pressure strength) by changing the condition. Now do `SCULPT_enhance_details_brush` only if strength is **below** zero and `SCULPT_smooth` else (flipping from enhance_details to regular smooth is fine). If inverting the brush in the middle of the stroke will be supported at some point, the codepath of `smooth` would have to inform the cache that invert changed and detail_directions would have to be initialized then (even if not at the start of the stroke). Maniphest Tasks: T89164 Differential Revision: https://developer.blender.org/D12676 |
Commit Details:
Full Hash: b80ed8396d285fd3f63831cb1b6589e7057514ce
Parent Commit: c33a005
Lines Changed: +6, -1
1 Modified Path:
/source/blender/editors/sculpt_paint/sculpt_smooth.c (+6, -1) (Diff)