Commit: 21118fb610c2cf693b2884086f3d5c1fe5183ea4
Author: Philipp Oeser
Date:   Fri Aug 7 18:28:43 2020 +0200
Branches: blender-v2.90-release
https://developer.blender.org/rB21118fb610c2cf693b2884086f3d5c1fe5183ea4

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

===================================================================

M       source/blender/editors/sculpt_paint/sculpt.c

===================================================================

diff --git a/source/blender/editors/sculpt_paint/sculpt.c 
b/source/blender/editors/sculpt_paint/sculpt.c
index e838d87aeff..13b576f0402 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -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. */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to