[Bf-blender-cvs] [fd248e6bf99] blender-v2.93-release: Fix T100578: Surface Deform modifier displays wrong in editmode

Philipp Oeser noreply at git.blender.org
Mon Sep 19 14:54:40 CEST 2022


Commit: fd248e6bf9947f4a1d9da07ebf788fbcf2018293
Author: Philipp Oeser
Date:   Tue Aug 23 09:51:36 2022 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rBfd248e6bf9947f4a1d9da07ebf788fbcf2018293

Fix T100578: Surface Deform modifier displays wrong in editmode

This was the case when the "Show in Editmode" option was used and a
vertexgroup affected the areas.

Probably an oversight in {rBdeaff945d0b9}?, seems like deforming
modifiers always need to call `BKE_mesh_wrapper_ensure_mdata` in
`deformVertsEM` when a vertex group is used.

Maniphest Tasks: T100578

Differential Revision: https://developer.blender.org/D15756

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

M	source/blender/modifiers/intern/MOD_surfacedeform.c

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

diff --git a/source/blender/modifiers/intern/MOD_surfacedeform.c b/source/blender/modifiers/intern/MOD_surfacedeform.c
index 99011c5e351..44fa974b3ee 100644
--- a/source/blender/modifiers/intern/MOD_surfacedeform.c
+++ b/source/blender/modifiers/intern/MOD_surfacedeform.c
@@ -1511,6 +1511,11 @@ static void deformVertsEM(ModifierData *md,
     mesh_src = MOD_deform_mesh_eval_get(ctx->object, em, mesh, NULL, numVerts, false, false);
   }
 
+  /* TODO(@campbellbarton): use edit-mode data only (remove this line). */
+  if (mesh_src != NULL) {
+    BKE_mesh_wrapper_ensure_mdata(mesh_src);
+  }
+
   surfacedeformModifier_do(md, ctx, vertexCos, numVerts, ctx->object, mesh_src);
 
   if (!ELEM(mesh_src, NULL, mesh)) {



More information about the Bf-blender-cvs mailing list