Fix T79622: Mesh Filter on a locked Shape crashes

For a locked shapekey, a SculptSession's orig_cos / deform_cos /
deform_imats are not initialized (they only are when
deform_modifiers_active is true -- this in turn is only true for
shapekeys if they are //not// locked [and for deforming modifiers of
course])

We can just update that keyblock with sculpt_update_keyblock() in case
of a locked shapekey

Maniphest Tasks: T79622

Differential Revision: https://developer.blender.org/D8499
This commit is contained in:
Philipp Oeser 2020-08-07 18:28:43 +02:00
parent 08286ef8ba
commit 21118fb610
Notes: blender-bot 2023-02-14 06:17:14 +01:00
Referenced by issue #79622, Active Shape Key Lock cause Blender crash while using Mesh Filter, Move, Rotate, Scale, Transform tools.
1 changed files with 1 additions and 1 deletions

View File

@ -5895,7 +5895,7 @@ void SCULPT_flush_stroke_deform(Sculpt *sd, Object *ob, bool is_proxy_used)
SculptSession *ss = ob->sculpt;
Brush *brush = BKE_paint_brush(&sd->paint);
if (is_proxy_used) {
if (is_proxy_used && ss->deform_modifiers_active) {
/* This brushes aren't using proxies, so sculpt_combine_proxies() wouldn't propagate needed
* deformation to original base. */