[Bf-blender-cvs] [ea5c8c4e844] master: Cleanup: re-order constructive modifier checks

Campbell Barton noreply at git.blender.org
Wed Sep 23 07:28:00 CEST 2020


Commit: ea5c8c4e844f29772f9b4381ead04b0be68df30d
Author: Campbell Barton
Date:   Wed Sep 23 15:09:53 2020 +1000
Branches: master
https://developer.blender.org/rBea5c8c4e844f29772f9b4381ead04b0be68df30d

Cleanup: re-order constructive modifier checks

Minor changes to simplify fix (coming next), no functional changes.

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

M	source/blender/blenkernel/intern/DerivedMesh.c

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

diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index bfdc8ad37e5..2f910f66cce 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1101,31 +1101,27 @@ static void mesh_calc_modifiers(struct Depsgraph *depsgraph,
       BKE_modifier_deform_verts(md, &mectx, mesh_final, deformed_verts, num_deformed_verts);
     }
     else {
-      have_non_onlydeform_modifiers_appled = true;
-
-      /* determine which data layers are needed by following modifiers */
-      CustomData_MeshMasks nextmask;
-      if (md_datamask->next) {
-        nextmask = md_datamask->next->mask;
-      }
-      else {
-        nextmask = final_datamask;
-      }
-
+      bool check_for_needs_mapping = false;
       /* apply vertex coordinates or build a Mesh as necessary */
-      if (mesh_final) {
-        if (deformed_verts) {
-          BKE_mesh_vert_coords_apply(mesh_final, deformed_verts);
-        }
+      if (mesh_final != NULL) {
+        /* pass */
       }
       else {
         mesh_final = BKE_mesh_copy_for_eval(mesh_input, true);
         ASSERT_IS_VALID_MESH(mesh_final);
+        check_for_needs_mapping = true;
+      }
 
-        if (deformed_verts) {
-          BKE_mesh_vert_coords_apply(mesh_final, deformed_verts);
-        }
+      if (deformed_verts) {
+        BKE_mesh_vert_coords_apply(mesh_final, deformed_verts);
+      }
+
+      have_non_onlydeform_modifiers_appled = true;
+
+      /* determine which data layers are needed by following modifiers */
+      CustomData_MeshMasks nextmask = md_datamask->next ? md_datamask->next->mask : final_datamask;
 
+      if (check_for_needs_mapping) {
         /* Initialize original indices the first time we evaluate a
          * constructive modifier. Modifiers will then do mapping mostly
          * automatic by copying them through CustomData_copy_data along



More information about the Bf-blender-cvs mailing list