Fix T97758: Applying modifiers bakes shape-keys

Regression in [0] which is useful when applying modifiers as a shape-key
but not when applying modifiers which keeps the existing shape-keys.

[0]: 65c5ebf577
This commit is contained in:
Campbell Barton 2022-05-06 13:33:21 +10:00
parent 1b566b70c1
commit 929a210608
Notes: blender-bot 2023-02-13 15:34:32 +01:00
Referenced by issue #103929, Applying Data Transfer Modifier - only the active Shape Key is taken into account
Referenced by issue #97758, Regression: Applying Vertex Weight Mix modifier bakes all shape keys with values > 0 into a selected shape key or Basis
1 changed files with 7 additions and 1 deletions

View File

@ -740,7 +740,13 @@ static bool modifier_apply_obdata(
}
else {
Mesh *mesh_applied = modifier_apply_create_mesh_for_modifier(
depsgraph, ob, md_eval, true, true);
depsgraph,
ob,
md_eval,
/* It's important not to apply virtual modifiers (e.g. shape-keys) because they're kept,
* causing them to be applied twice, see: T97758. */
false,
true);
if (!mesh_applied) {
BKE_report(reports, RPT_ERROR, "Modifier returned error, skipping apply");
return false;