[Bf-blender-cvs] [3589244] temp_depsgraph_split_ubereval: Use a localized ndm variable for the main dm and both possibl orco results.
Lukas Tönne
noreply at git.blender.org
Fri Sep 25 12:13:39 CEST 2015
Commit: 35892446b00687fdb5d48c44d4bec367e7411b99
Author: Lukas Tönne
Date: Fri Sep 25 11:54:59 2015 +0200
Branches: temp_depsgraph_split_ubereval
https://developer.blender.org/rB35892446b00687fdb5d48c44d4bec367e7411b99
Use a localized ndm variable for the main dm and both possibl orco results.
Proper scoping helps understanding of the code.
===================================================================
M source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 79b9b32..44a59e7 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -2111,7 +2111,6 @@ static void mesh_calc_modifiers(
mesh_calc_deform_modifier(ob, &ctx, &iter, dm, orcodm, &deformedVerts, &numVerts);
}
else {
- DerivedMesh *ndm;
CustomDataMask mask = iter.datamask->mask;
CustomDataMask append_mask = iter.append_mask;
CustomDataMask nextmask = (iter.datamask->next) ? iter.datamask->next->mask : dataMask;
@@ -2126,25 +2125,31 @@ static void mesh_calc_modifiers(
dm = mesh_calc_create_input_dm(ob, &ctx, md, mask, append_mask, nextmask, dm, orcodm, clothorcodm, deformedVerts);
- ndm = modwrap_applyModifier(md, ob, dm, ctx.app_flags);
- ASSERT_IS_VALID_DM(ndm);
+ {
+ DerivedMesh *ndm;
- if (ndm) {
- /* if the modifier returned a new dm, release the old one */
- if (dm && dm != ndm) dm->release(dm);
+ ndm = modwrap_applyModifier(md, ob, dm, ctx.app_flags);
+ ASSERT_IS_VALID_DM(ndm);
- dm = ndm;
+ if (ndm) {
+ /* if the modifier returned a new dm, release the old one */
+ if (dm && dm != ndm) dm->release(dm);
- if (deformedVerts) {
- if (deformedVerts != inputVertexCos)
- MEM_freeN(deformedVerts);
+ dm = ndm;
- deformedVerts = NULL;
+ if (deformedVerts) {
+ if (deformedVerts != inputVertexCos)
+ MEM_freeN(deformedVerts);
+
+ deformedVerts = NULL;
+ }
}
}
/* create an orco derivedmesh in parallel */
if (nextmask & CD_MASK_ORCO) {
+ DerivedMesh *ndm;
+
if (!orcodm)
orcodm = create_orco_dm(ob, me, NULL, CD_ORCO);
@@ -2165,6 +2170,8 @@ static void mesh_calc_modifiers(
/* create cloth orco derivedmesh in parallel */
if (nextmask & CD_MASK_CLOTH_ORCO) {
+ DerivedMesh *ndm;
+
if (!clothorcodm)
clothorcodm = create_orco_dm(ob, me, NULL, CD_CLOTH_ORCO);
More information about the Bf-blender-cvs
mailing list