Fix T71213: Mask or Mirror before Armature breaks weight paint.
This is a revert of a small fraction of commit rB5e332fd700 that introduced the issue according to bisect. Doing a break here is wrong, because BKE_crazyspace_build_sculpt assumes that processing stopped at the first deform modifier without deformMatrices, and thus skips all modifiers until it finds one like that. Thus this early loop exit makes the behavior worse, as instead of skipping just Mask and Mirror, it skips all.
This commit is contained in:
parent
f0e7fd4ad6
commit
f1ac64921b
Notes:
blender-bot
2023-02-14 08:42:54 +01:00
Referenced by issue #88665, Impossible to weight paint certain vertices Referenced by issue #72104, Blender selects faces outside of Clipping Region if X-Ray is off Referenced by issue #72082, Chooses coordinate axes does not affect on location transformation at sidebar Referenced by issue #72069, Smooth Vertices called from the F3 operator search will put you in a modal without knowing [doesnt execute immediately] Referenced by issue #72054, Sculpt Mode crash when using Relax Mesh Filter with Dyntopo enabled Referenced by issue #71213, Issue trying to weight paint if object has mirror+armature.
|
@ -417,12 +417,12 @@ int BKE_sculpt_get_first_deform_matrices(struct Depsgraph *depsgraph,
|
|||
mti->deformMatrices(md, &mectx, me_eval, deformedVerts, defmats, me_eval->totvert);
|
||||
}
|
||||
else {
|
||||
/* More complex handling will continue in BKE_crazyspace_build_sculpt.
|
||||
* Exiting the loop on a non-deform modifier causes issues - T71213. */
|
||||
BLI_assert(crazyspace_modifier_supports_deform(md));
|
||||
break;
|
||||
}
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (; md; md = md->next) {
|
||||
|
|
Loading…
Reference in New Issue